flash的AS3.0编程问题。。

对于鼠标事件,我想用AS外部文件实现,但是我做不出来,求大神给一段as外部文件的代码参考一下。比如说:我在舞台任意地方单击一下,就出现一个小圆。... 对于鼠标事件,我想用AS外部文件实现,但是我做不出来,求大神给一段as外部文件的代码参考一下。比如说:我在舞台任意地方单击一下,就出现一个小圆。 展开
 我来答
百度网友ae5d4c8
2015-06-05 · TA获得超过655个赞
知道小有建树答主
回答量:728
采纳率:100%
帮助的人:735万
展开全部
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 广告
Altair HyperWorks是一套功能强大的集成化CAE(计算机辅助工程)软件平台,由Altair公司开发。它涵盖了结构分析、流体动力学、优化、多体动力学、电磁场仿真等多个领域,提供了丰富的仿真工具和优化算法。HyperWorks以其... 点击进入详情页
本回答由名片提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式