CreateJS实现打飞机小游戏

之前对createJs体验了一下,正好看到网上有一篇教程,试着也写了一个打飞机的小游戏,UI相对比较简单,主要记录下实现游戏逻辑的思路。

window.onload = function() {
    canvas = document.getElementById("canvas");
    stage = new createjs.Stage(canvas);
    preload = new createjs.LoadQueue(false);
    //如果载入声音,必须先注册createjs.Sound
    preload.installPlugin(createjs.Sound);
    // 导入资源创建舞台
    game.init();
};
    init: function() {
        var progressText = new createjs.Text("", "20px Arial", "#dd4814");
        progressText.x = stage.canvas.width / 2;
        progressText.y = stage.canvas.height / 2;
        progressText.textAlign = 'center';
        stage.addChild(progressText);

        function startPreload() {
            var manifest = [{
                id: 'sprite',
                src: 'plane.png'
            }, {
                id: 'shot',
                src: 'shot.mp3'
            }, {
                id: "explosion",
                src: 'explosion.mp3'
            }];
            preload.setMaxConnections(3);
            preload.maintainScriptOrder = true;
            preload.on("progress", loadProgress);
            preload.on("error", loadError);
            preload.on("complete", loadComplete);
            preload.loadManifest(manifest);
        }
        startPreload();

        function loadProgress(e) {
            progressText.text = "已加载 " + (preload.progress * 100 | 0) + " %";
            console.log(progressText.text);
        }

        function loadError(e) {
            console.log(e);
        }

        function loadComplete(e) {
            stage.removeChild(progressText);
            game.handleComplete();
        }
    },

加载好需要用到的库以后,先运行init方法载入游戏资源;如果要播放声音,需先preload.installPlugin(createjs.Sound)注册createjs.Sound,不然后面直接调用方法播放音频文件会出错。

    // 创建游戏界面,设置按键
    handleComplete: function() {
        buildGame.init();
        buildGame.setContorl();
        game.startGame();
    },
    //开始游戏
    startGame: function() {
        createjs.Ticker.setFPS(60);
        createjs.Ticker.addEventListener('tick', function() {
            updateGame.init();
            stage.update();
        });
    }

在startGame方法里,设置帧频,stage.update()游戏更新场景。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 56
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值