تغيير حجم ديناميكي من مكونات Flex 4 المرسومة تماما (رمز الرسم الذي تم إنشاؤه بواسطة Catalyst)

StackOverflow https://stackoverflow.com/questions/2236245

سؤال

لدي بعض التعليمات البرمجية التي تم إنشاؤها بواسطة محفز فلاش، وأنا في حاجة إليها لا يمكن تمييزه وتدويره.

في الوقت الحالي، ليس لدي أي فكرة عن كيفية حدوث ذلك.

الفكرة الأساسية هي:

  • انا املك طاحونة.
  • طاحونة يحتوي على Windmillbles..
  • Windmillbles. استدارة.
  • طاحونة تغيير حجم.
  • عندما طاحونة تغيير حجم، Windmillbles. يجب أن مقياس ديناميكيا مع طاحونة.

يعد الرمز أدناه مخططا مبسطا لهيكل تطبيق تجريبي أعددته، جاهزا للصقه في IDE:

http://gist.github.com/300207.

يرجى التحقق من المصدر ومعرفة ما إذا كان يمكنك المساعدة لأن هذا هو المهمة الحرجةلي. : /

<s:Group id="windmill" width="50" height="200">
    <s:Group id="windmillBlades" resizeMode="scale" verticalCenter="0" horizontalCenter="0">
         <s:Line xFrom="0" xTo="140" yFrom="0" yTo="140">
            <s:stroke>
                <s:SolidColorStroke color="0xBC311E" weight="16" />
            </s:stroke>
        </s:Line>        
    </s:Group>
</s:Group>

شكرا!

تحرير: ملاحظة هذا هو تجريد تطبيقي الحقيقي، أنا لا أبني محاكاة طاحونة الهواء.

هل كانت مفيدة؟

المحلول

هذا يعمل:

<s:Group id="windmill" width="50" height="200" x="400" y="400">
    <s:Group id="windmillBlades" resizeMode="scale" width="100%" height="100%">
         <s:Line xFrom="0" xTo="140" yFrom="0" yTo="140">
            <s:stroke>
                <s:SolidColorStroke color="0xBC311E" weight="16" />
            </s:stroke>
        </s:Line>        
    </s:Group>
</s:Group>

<s:VGroup>
    <s:HSlider id="scaler"
        minimum=".1" maximum="2" snapInterval=".01"
        valueCommit="{windmill.scaleX = windmill.scaleY = scaler.value}"/>
    <s:HSlider id="rotator"
        minimum="0" maximum="360" snapInterval="1"
        valueCommit="{windmill.rotation = rotator.value}"/>
</s:VGroup>

أنا لست متأكدا من أفضل طريقة لجعل طاحونة كاملة (مع S: STY وكلها، ربما مجرد مكرر؟)، ولكن هذه طريقة جيدة لتدوير طاحونة الهواء. بدلا من تدوير كل سطر (الكثير من الحسابات)، فقط قم بتدوير المجموعة بأكملها. وإذا كانت windmillBladles العرض والطول هو 100٪، وسوف تجميد تلقائيا مع المجموعة.

إذا كنت ترغب في جعل الشفرات تدور بشكل فردي حول مركزها، فهذه أكثر صعوبة. لحسن الحظ هناك ILayoutElement#transformAround الطريقة (أي uicomomentent)، والتي تتيح لك تدوير / مقياس / تحويل حول مركز تعسفي. حاول استخدام ذلك إذا كان ذلك يبدو أفضل.

حظا سعيدا، لانس

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top