论坛首页 Web前端技术论坛

HTML5游戏,画布渲染

浏览 12147 次
精华帖 (1) :: 良好帖 (6) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-01-29   最后修改:2012-01-29
大家新年好!
过年我花了半个月自己做了套简单的游戏框架,(其实大部分思路都是从大城小胖的“脆弱的马里奥”学来的)。
用这个框架做了个游戏,叫驴子跳跳,这里先附上源码下载地址(有详尽的注释哦),同时有个问题,我发现图片的渲染(drawImage方法)不是一般的慢,游戏有时会很卡,特别是火狐和safare下面,chrome下面还好。如果注释掉背景图片的drawImage方法,就很快了,对,问题就出在渲染上,因为我对游戏开发只是非专业业余爱好者,因此不知道大家有什么好的方案解决这个渲染慢的方法吗?
因为drawImage是内置方法,所以不知道怎么优化,我想大家一定有不一样的绘图方案吧,请大家指教下,完善后一定再完善详尽的注释然后来源出来哈,谢谢!

下载地址:
http://115.com/file/dp58fe2f
解压密码:19871219

玩法:
按W键开始游戏
按A和D键控制左右方向

注意:刚刚添加了声音,因为是ogg格式,建议在chrome下运行,其他浏览器声音播放和加载可能有问题,兼容性还没来得及处理。
手机打字不容易,公司不能上外网,大家理解,谢谢啦。
[/color][color=black]
   发表时间:2012-01-29  
下载的文件无法打开~
0 请登录后投票
   发表时间:2012-01-29  
chenggong 写道
下载的文件无法打开~

解压密码是19871219
0 请登录后投票
   发表时间:2012-01-29  
不错 学习了. 发现一个小BUG 开始游戏的时候 W+方向一起按就 不能正常游戏了
  • 大小: 99.5 KB
0 请登录后投票
   发表时间:2012-01-30  
谢谢分享,能分享下思路吗?
0 请登录后投票
   发表时间:2012-01-30  
danny.chiu 写道
谢谢分享,能分享下思路吗?

代码里面有详尽的注释哈,不明白可以加,建议可以先看看小胖“脆弱的马里奥”,那个代码更明白些。
0 请登录后投票
   发表时间:2012-01-31  
helloworld1987 写道

过年我花了半个月自己做了套简单的游戏框架.......
[/color][color=black]




该方法:
 
Sprite.prototype.render = function(context, viewport) {
        if(this.visible && this._currentAnim) {
            context.save();
            if(this.alpha > 0 && this.alpha < 1) {
                context.globalAlpha = this.alpha;
            }

            this._currentAnim.render(context, this.x - viewport.x, this.y - viewport.y);
            context.restore();
            Sprite.superclass.render.call(this);
        }
        context = viewport = null;
    }

其中 context.save(); context.restore();两段代码可以删除,在此无实际作用,反而消耗性能.
drawImage没有太好的优化办法,为提高性能,只能尽量减少单帧调用drawImage的次数。
0 请登录后投票
   发表时间:2012-02-04  
恩,哈哈,挺好玩
0 请登录后投票
   发表时间:2012-02-05  
为什么我的chrom上面是白屏呢
0 请登录后投票
   发表时间:2012-02-06  
小兵兵的帖子得顶起,哈哈
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics