Actionscript 3 ActionScript 3/MXML:我的代码没有';我什么也不做
将我的代码编译成SWF文件会导致程序不执行任何操作。我希望是一个颜色为#FFAA00的实心矩形。为什么我的代码什么都不做 例如:Actionscript 3 ActionScript 3/MXML:我的代码没有';我什么也不做,actionscript-3,mxml,Actionscript 3,Mxml,将我的代码编译成SWF文件会导致程序不执行任何操作。我希望是一个颜色为#FFAA00的实心矩形。为什么我的代码什么都不做 例如: //Dependencies import flash.display.*; import flash.events.*; //Variables var GlobalTimer:int = 0; var Rect:Shape = new Shape(); //Game loader function public function handle():void {
//Dependencies
import flash.display.*;
import flash.events.*;
//Variables
var GlobalTimer:int = 0;
var Rect:Shape = new Shape();
//Game loader function
public function handle():void
{
init();
}
//Init function
public function init():void
{
addChild(Rect);
addEventListener(Event.ENTER_FRAME,loop);
}
//Loop function
public function loop(event:Event):void
{
var CurTimer:int = getTimer();
var FrameDiff:int = CurTimer-GlobalTimer;
GlobalTimer = CurTimer;
Rect.graphics.beginFill(0xFFAA00);
Rect.graphics.drawRect(0,0,640,480);
Rect.graphics.endFill();
}
dummy.mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application width="640" height="480" xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="handle()">
<mx:Script source="dummy.as"/>
</mx:Application>
因为形状不符合儿童的条件。仔细阅读: 为了将基本Flash显示类添加到Flex显示列表中,您需要将UIComponent作为其父级。您可以在此处看到继承链:
@Yoshimaster您不能创建某个类的实例并将其添加为中间容器吗?好了,就这样?对不起,我有点困惑。我不经常使用OOP语言,因此不太懂术语。基本上,我不明白你的意思。@Yoshimaster是的,这就是你需要修改的全部内容-只是将空UIComponent用作Shape、Bitmap、Sprite、MovieClip或TextField等类的容器。我这么做了,但现在我遇到了另一个问题:我的程序以320X和24Y的偏移量绘制矩形,因此覆盖了窗口的大部分右侧,但不是全部。@Yoshimaster,因为默认的对齐和缩放模式设置为,如果舞台宽度和高度与发布到的不同,则动画电影适合舞台。使用stage.align=StageAlign.TOP_左;stage.scaleMode=StageScaleMode.NO_SCALE;
./mxmlc ../../feedsparky/src/dummy/dummy.mxml
var FlashBox:UIComponent = new UIComponent;
var Rect:Shape = new Shape;
//Init function
public function init():void
{
addChild(FlashBox);
FlashBox.addChild(Rect);
addEventListener(Event.ENTER_FRAME, loop);
}