我不确定我是否已经超过或者在想这个但是我有这种情况。我希望能够使用多个类向页面添加(现在)三角形。第一个是将动作脚本添加到flash中的帧,第二个是实际的类。现在,我可以这样做吗?或者我愚蠢地认为我可以吗?我希望这样做,所以我可以创建我的背景作为一个动态创建的区域,我认为我可以与之交互作为一个类的实例。
在框架
import flash.display.Stage;
var sides:Sides=new Sides();
stage.addChild(sides);
this.addChild(sides);
上课
package {
import flash.display.Shape;
public class Sides extends Shape {
public function Sides() {
var triangleHeight:uint = 100;
var triangle:Shape = new Shape();
// red triangle, starting at point 0, 0
triangle.graphics.beginFill(0xFF0000);
triangle.graphics.moveTo(triangleHeight / 2, 0);
triangle.graphics.lineTo(triangleHeight, triangleHeight);
triangle.graphics.lineTo(0, triangleHeight);
triangle.graphics.lineTo(triangleHeight / 2, 0);
triangle.graphics.endFill();
trace("Into construct");
}
}
}
我遇到的问题是屏幕上没有显示实际的三角形,它是空白的。我知道构造函数已经运行,但是我没有得到实际的输出。
我希望自己清楚明白。如果有人能提出更好的解决方案,我很乐意听到。我的情况是这样的。 我希望创建一个其他电影剪辑可以与之互动的世界。我将创建代表他们的线条。现在动态生成它是否更好?或者有一种方法可以使用某种基类,使所有其他基类运行,从而允许我具有随机宽度。希望这很清楚。
答案 0 :(得分:1)
在Sides构造函数中创建一个Shape实例,您可以在其中绘制三角形,但是这个形状永远不会添加到显示列表中,而是将您的Sides实例(它本身没有绘制任何内容)添加到显示列表中。
因为你的Sides类正在扩展Shape,所以你不需要另一个Shape实例,你的Sides本身就是一个Shape,你可以像这样直接绘制它:
package {
import flash.display.Shape;
public class Sides extends Shape {
public function Sides() {
var triangleHeight:uint = 100;
// red triangle, starting at point 0, 0
this.graphics.beginFill(0xFF0000);
this.graphics.moveTo(triangleHeight / 2, 0);
this.graphics.lineTo(triangleHeight, triangleHeight);
this.graphics.lineTo(0, triangleHeight);
this.graphics.lineTo(triangleHeight / 2, 0);
this.graphics.endFill();
trace("Into construct");
}
}
}