JavaScript库EASELJS的第一眼映像(三)

本节主要讲述事件交互:

鼠标的坐标可以通过stage取到:

function init() {
    var canvas = document.getElementById("easel");
    var centerX = canvas.width / 2;
    var centerY = canvas.height / 2;

    // 创建布景对象
    var stage = new createjs.Stage(canvas);

    ss = new createjs.SpriteSheet({
        animations: {
            // 定义了动画操作,可以是多个的组合
            fly: [0, 15],
            explode: [16, 20, "fly"]
        },
        images: ["_image/sprite2.png"],
        frames: {
            regX: 50,
            regY: 50,
            height: 100,
            width: 100
        }
    });

    ship = new createjs.BitmapAnimation(ss);
    ship.x = centerX;
    ship.y = centerY;
    ship.gotoAndPlay("fly");

    stage.addChild(ship);


    createjs.Ticker.setFPS(30);
    createjs.Ticker.addListener(function() {
        ship.x = stage.mouseX;
        ship.y = stage.mouseY;
        
        stage.update();

    });


}

同时鼠标的事件可以通过以下方式获得:

function init() {
    var canvas = document.getElementById("easel");
    var centerX = canvas.width / 2;
    var centerY = canvas.height / 2;

    // 创建布景对象
    var stage = new createjs.Stage(canvas);

    ss = new createjs.SpriteSheet({
        animations: {
            // 定义了动画操作,可以是多个的组合
            fly: [0, 5],
            explode: [2, 5, "fly"]
        },
        images: ["_image/shipsprites.png"],
        frames: {
            regX: 22,
            regY: 33,
            height: 66, // 每个小图的高度
            width: 43   // 每个小图的宽度
        }
    });

    ship = new createjs.BitmapAnimation(ss);
    ship.x = centerX;
    ship.y = centerY;
    ship.gotoAndPlay("fly");


    //
    //ship.onClick = function(e) {
    //    ship.gotoAndPlay("explode");
    //};
    
    ship.onPress = function(e){
        e.onMouseOver = function(ev){
            e.target.x = ev.stageX;
            e.target.y = en.stageY;
        }
    };

    stage.enableMouseOver();
    stage.addChild(ship);
    createjs.Ticker.setFPS(6);
    createjs.Ticker.addListener(function() {
        //ship.x = stage.mouseX;
        //ship.y = stage.mouseY;
        stage.update();
    });


}

不过很遗憾,我在windows下没能调试成功(google chrome浏览器),没能进入onPress事件处理。。。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值