Egret社区

关于Egret的对象传递

2014-7-25 16:50
13385
module Tam{

    export class TamHole extends egret.DisplayObjectContainer
    {
        /**洞洞*/

        private goodTimer:egret.Timer = new egret.Timer(1000);
        public constructor(texture:egret.Texture,textureGood:egret.Texture) {
            super();
            this.goodTimer.start();
            var spr1:egret.Sprite = new egret.Sprite();
            spr1.graphics.beginFill(0x00ff00, 1);
            spr1.graphics.drawRect(0, 0, 100, 80);
            spr1.graphics.endFill();
            this.addChild( spr1 );
            var rect:egret.Rectangle = new egret.Rectangle(0,0,100,114);
            spr1.mask = rect;

            //地鼠
            var good = new egret.Bitmap(textureGood);
            good.touchEnabled = true;
            spr1.addChild(good);
            good.y = 114;
            good.x = 10;


            var hole = new egret.Bitmap(texture);
            hole.touchEnabled = true;
            spr1.addChild(hole);
            hole.y =  75;

            this.goodTimer.addEventListener(egret.TimerEvent.TIMER,this.testFun,hole);


        }
        private  testFun(evt:egret.TimerEvent,xp){

            egret.Tween.get(xp).to({ y: xp.y }, 2000).to({ y: xp.y-114 }, 2000);
        }
    }
}
分享到 :
0 人收藏

5 个回复

倒序浏览
webzhangyi  初学乍练 | 2014-7-25 16:51:30
testFun 方法的对象传递怎么搞

我是希望1秒钟 地鼠从地下出来
Wander  官方团队 | 2014-7-25 16:55:23
本帖最后由 Wander 于 2014-7-25 16:56 编辑

module Tam{

    export class TamHole extends egret.DisplayObjectContainer
    {
        /**洞洞*/

        private goodTimer:egret.Timer = new egret.Timer(1000);
        private xp
        public constructor(texture:egret.Texture,textureGood:egret.Texture) {
            super();
            this.goodTimer.start();
            var spr1:egret.Sprite = new egret.Sprite();
            spr1.graphics.beginFill(0x00ff00, 1);
            spr1.graphics.drawRect(0, 0, 100, 80);
            spr1.graphics.endFill();
            this.addChild( spr1 );
            var rect:egret.Rectangle = new egret.Rectangle(0,0,100,114);
            spr1.mask = rect;

            //地鼠
            var good = new egret.Bitmap(textureGood);
            good.touchEnabled = true;
            spr1.addChild(good);
            good.y = 114;
            good.x = 10;


            var hole = new egret.Bitmap(texture);
            hole.touchEnabled = true;
            spr1.addChild(hole);
            hole.y =  75;
          this.xp = hole

            this.goodTimer.addEventListener(egret.TimerEvent.TIMER,this.testFun,this);


        }
        private  testFun(evt:egret.TimerEvent){

            egret.Tween.get(this.xp).to({ y: this.xp.y }, 2000).to({ y: this.xp.y-114 }, 2000);
        }
    }
}
Wander  官方团队 | 2014-7-25 16:56:02
我修改的代码主要是
this.goodTimer.addEventListener(egret.TimerEvent.TIMER,this.testFun,this);

第三个参数应该是this
然后把xp改成 this.xp
webzhangyi  初学乍练 | 2014-7-25 16:57:35
private  testFun(evt:egret.TimerEvent){ 这个方法里面不用加上?

xp是我任意写的
webzhangyi  初学乍练 | 2014-7-25 17:01:47
可以触发了。要设置一个全局变量  private xp
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部