这个问题可能很简单但解决但我不清楚。这可能只是因为我做错了一些事情。我已经学习了OOP和AS3几个小时,所以我对这些概念非常熟悉,但不熟悉流程。这是我整理的一个项目,以加强我一直在研究的内容。自定义(简单)AS3类代码没有完全执行
此处的目标是将预创建的影片剪辑的实例从库中加载到舞台上,然后在FLA的时间帧ActionScript中执行定位功能,并从AS文件的类ActionScript中执行一个函数,以同时调整movieclip并输出一个跟踪。
我有两个文件: smileface.fla smileface.as
在smileface.fla,我必须驻留在我的库MovieClip对象。它具有以下相关属性...
Name: faceInst Class: smileface Base Class: null
我有一帧(关键),它包含以下ActionScript:
var faceInst:smileface = new smileface(); this.addChild(faceInst); faceInst.x = stage.stageWidth/2; faceInst.y = stage.stageHeight/2;
在我smileface.as文件我有以下代码:
package { import flash.display.MovieClip; import flash.display.Stage; public class smileface extends MovieClip { public function smileFunction() { this.width = stage.stageWidth/5; this.height = stage.stageHeight/5; trace("Done!"); } } }
我预计(没有理由这样做)在加载movieclip对象之后,它将根据规范调整大小,然后将输出跟踪。
但是,发生的情况是,人脸显示在舞台上,居中,但没有调整大小,并且曲线根本不输出。
非常感谢,我需要阅读更多关于构造函数和方法。我看到了我的错误,但需要运行更多的测试才能找到它。 – Structure 2009-10-14 10:01:19
基本级别构造函数是一个方法调用,只要该类被创建,就需要将其命名与类名完全相同,以便它能够正确运行。任何其他函数都需要专门调用,例如,您可以通过在addchild()调用之后调用faceInst.init()而不是在类中使用事件处理函数来执行此init函数。 – longstaff 2009-10-14 12:32:50