创建具有舞台大小的矩形
Posted
技术标签:
【中文标题】创建具有舞台大小的矩形【英文标题】:Creating a rectangle with stage sizes 【发布时间】:2014-07-02 10:30:23 【问题描述】:这是我的第一堂课,我尝试制作具有舞台大小的矩形,但 flash 给了我这些错误:
addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler); // 1180: 调用可能未定义的方法 addEventListener。 removeEventListener(Event.ADDED_TO_STAGE, addedToStageHandler); // 1180: 调用可能未定义的方法 removeEventListener。 stageW = stage.stageWidth; // 1120: 未定义属性阶段的访问。 stageH = stage.stageHeight; // 1120: 未定义属性阶段的访问。 addChild(mc_background); // 1180: 调用可能未定义的方法 addChild。
我的代码是:
package
import flash.display.MovieClip;
import flash.events.Event;
public class main
var mc_background:MovieClip = new MovieClip();
var stageW:Number;
var stageH:Number;
public function init()
addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
private function addedToStageHandler(evn:Event):void
removeEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
stageW = stage.stageWidth;
stageH = stage.stageHeight;
drawBackground();
private function drawBackground():void
mc_background.beginFill(0xFF00CC);
mc_background.graphics.drawRect(0,0,stageW,stageH);
mc_background.graphics.endFill();
addChild(mc_background);
【问题讨论】:
【参考方案1】:您的“main”类应该扩展一个 Sprite 以使用 addChild() 和 removeEventListener() 方法。
所以你应该导入 Sprite 类并从 Sprite 扩展你的类,如下所示:
package
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
public class main extends Sprite
使用第一个大写字母来调用类名也被认为是一种很好的做法,例如main > Main
。所有小写通常都是变量,所以以后会混淆。
【讨论】:
或MovieClip
,如果它包含多于一帧。
好吧,MovieClip 基本上是没有意义的,因为在 Flash 中没有办法将帧添加到动画剪辑,如果他是从预先存在的动画剪辑扩展而来,他需要从该类扩展,不是纯粹的电影剪辑。但你是对的,MovieClip 只是一个带有帧的 Sprite。以上是关于创建具有舞台大小的矩形的主要内容,如果未能解决你的问题,请参考以下文章