做了一个很简单小游戏,东西上升,点击后消失,用的框架是createjs。但发现在微信端点击游戏里面的对象时会有短暂的卡顿 不知道是代码写的哪里不对影响性能了,并且andriod 在微信里看的时候对象上升也会有一些卡顿。求优化方式 谢谢
核心游戏代码
var canvas = document.getElementById("canvas"); var stage = new createjs.Stage(canvas); createjs.Touch.enable(stage); var container = new createjs.Container(); stage.addChild(container); for (var i = 0; i < 10; i++) { var ball = new createjs.Bitmap(queue.getResult("ball")); ball.point = 30; ball.speed = 4; ball.x = (canvas.width-100) * Math.random(); ball.y = canvas.width+50*Math.random()*20; ball.cursor = "pointer"; ball.on("mousedown", function () { this.visible = false; }); container.addChild(ball); stage.addChild(container); } createjs.Ticker.timingMode = createjs.Ticker.RAF; createjs.Ticker.setFPS(60); createjs.Ticker.addEventListener("tick", tick); function tick(event) { var l = container.getNumChildren() ; for (var i = 0; i < l; i++) { shape = container.getChildAt(i); shape.y = shape.y-shape.speed; if(shape.y<-250||!shape.visible){ shape.x = (canvas.width-150) * Math.random(); shape.y = canvas.height; shape.visible = true; } } stage.update(event); 线上地址 http://1.snackwei.sinaapp.com/gameDemo/
我试了下,不卡啊。。
最多就是把循环里面的Ticker那段代码拿出来吧。。
不了解createjs,有错请见谅
手机端加上
createjs.Touch.enable(stage);
可以解决这个问题