Actionscript 3 Flash AS3-更改精灵大小效果文本场?

Actionscript 3 Flash AS3-更改精灵大小效果文本场?,actionscript-3,flash,text,sprite,tween,Actionscript 3,Flash,Text,Sprite,Tween,与一个简单的问题作斗争。我有一个精灵和一个文本字段。它们都不是作为彼此的子对象添加的,而是独立的对象。该课程全文如下所示。所有这些都按预期工作,但是当我调用simpleGUIElementResize函数来调整精灵的大小时,textfield也会调整大小,这是我不想要的。效果应该是,我可以做任何我想做的事情,文本保持在原处 有什么想法吗 多谢各位 package com.simpleGUI { //flash imports import flash.display.Sprite

与一个简单的问题作斗争。我有一个精灵和一个文本字段。它们都不是作为彼此的子对象添加的,而是独立的对象。该课程全文如下所示。所有这些都按预期工作,但是当我调用simpleGUIElementResize函数来调整精灵的大小时,textfield也会调整大小,这是我不想要的。效果应该是,我可以做任何我想做的事情,文本保持在原处

有什么想法吗

多谢各位

package com.simpleGUI {
    //flash imports
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.text.TextField;
    import flash.text.TextFormat;
    import flash.text.TextFormatAlign;
    import flash.text.Font;

//greensock
import com.greensock.TweenMax;
import com.greensock.easing.*;


public class simpleGUIElement extends Sprite {
    //declaration vars
    private var sgeWidth:int;
    private var sgeHeight:int;
    private var sgeColour:String;
    private var sgeText:String;

    //internal vars
    private var sgeSprite:Sprite = new Sprite();
    private var sgeTextField:TextField = new TextField();
    private var sgeFormat:TextFormat = new TextFormat();

    //formatting vars
    private var sgeTextSize:int;

    public function simpleGUIElement(SGEWIDTH:int, SGEHEIGHT:int, SGECOLOUR:String, SGETEXT:String, SGETEXTSIZE:int) {
        trace('simpleGUIElement created');

        //populate the vars
        sgeWidth = SGEWIDTH;
        sgeHeight = SGEHEIGHT;
        sgeColour = SGECOLOUR;
        sgeText = SGETEXT;

        sgeTextSize = SGETEXTSIZE;

        createSprite();  //create the rectangle

        //if the text string is not null create the textfield
        if (sgeText.indexOf("null") >= 0) {
            return;
        } else {
            createTextField();
        }

    }

    private function createSprite():void {
        //create the sprite
        sgeSprite.graphics.beginFill(uint(sgeColour));
        sgeSprite.graphics.drawRect(0, 0, sgeWidth, sgeHeight);
        sgeSprite.graphics.endFill();
        //add the sprite
        addChild(sgeSprite);
    }

    private function createTextField():void {
        //sort of the formatting
        sgeFormat.size = sgeTextSize;
        sgeFormat.align = TextFormatAlign.LEFT;
        sgeFormat.font = 'Arial';
        sgeFormat.color = (0xffffff);
        sgeFormat.leading = 5;
        sgeFormat.kerning = 10;
        sgeFormat.letterSpacing = 0.7;

        //create the textfield
        sgeTextField.defaultTextFormat = sgeFormat;
        sgeTextField.htmlText = sgeText;
        sgeTextField.width = sgeWidth;
        sgeTextField.height = sgeHeight - 20;
        sgeTextField.wordWrap = true;
        sgeTextField.selectable = false;
        sgeTextField.x = 10;
        sgeTextField.y = 10;
        sgeTextField.mouseEnabled = false;
        addChild(sgeTextField);
    }


    public function simpleGUIElementResize(animTime:int, newWidth:int, newHeight:int):void {
        TweenMax.to(sgeSprite, animTime, {width:newWidth, height:newHeight});
    }

}

}

很抱歉,您的代码可以正常工作。

(点击stage调整大小)。

Ye,这毫无意义,它只在一个项目中完成。这让我很困惑。你的问题在其他地方。似乎是佛罗里达州的某个地方出了问题,创建了一个全新的项目,问题就消失了。