flash的AS3.0编程问题。。
对于鼠标事件,我想用AS外部文件实现,但是我做不出来,求大神给一段as外部文件的代码参考一下。比如说:我在舞台任意地方单击一下,就出现一个小圆。...
对于鼠标事件,我想用AS外部文件实现,但是我做不出来,求大神给一段as外部文件的代码参考一下。比如说:我在舞台任意地方单击一下,就出现一个小圆。
展开
1个回答
展开全部
stage.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void
{
var shape:Shape = new Shape();
shape.graphics.beginFill(Math.random()*0xFFFFFF, .5);
shape.graphics.drawCircle(event.stageX, event.stageY, 50);
shape.graphics.endFill();
stage.addChild(shape);
}
点击舞台会出现随机色彩的圆形.
追问
这个是在帧动作里面的吧。我想要写在.as文件里的代码,然后在帧动作上调用,求教
追答
那你封装成一个类就行了.
package
{
import flash.display.Sprite;
public class DrawCircle extends Sprite
{
public function DrawCircle()
{
this.addEventListener(Event.ADDED_TO_STAGE, addedHandler);
}
private function addedHandler(event:Event):void
{
this.removeEventListener(Event.ADDED_TO_STAGE, addedHandler);
stage.addEventListener(MouseEvent.CLICK, clickHandler);
}
private function clickHandler(event:MouseEvent):void
{
var shape:Shape = new Shape();
shape.graphics.beginFill(Math.random()*0xFFFFFF, .5);
shape.graphics.drawCircle(event.stageX, event.stageY, 50);
shape.graphics.endFill();
this.addChild(shape);
}
}
}
把这个单独保存为DrawCircle.as. 与主文件放在一起.
然后你在用的地方:
var dc:DrawCircle = new DrawCircle();
stage.addChild(dc);
名片
2024-10-28 广告
2024-10-28 广告
Altair HyperWorks是一套功能强大的集成化CAE(计算机辅助工程)软件平台,由Altair公司开发。它涵盖了结构分析、流体动力学、优化、多体动力学、电磁场仿真等多个领域,提供了丰富的仿真工具和优化算法。HyperWorks以其...
点击进入详情页
本回答由名片提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询