canvas——Game原型逻辑流程

1.获取页面canvas,并赋予一系列初始化值(变量、常量)[可选:便于多个地方使用方便,可使用this指定];
   如:
      var Game = function(){
        this.canvas = document.getElementById("canvas"),
        this.content = this.canvas.getContext("2d");
      };

2.为使用方便,使用原型制作,方便调用;
   如:
            Game.prototype = {
                
            }
3.于页面上直接调用游戏方法,并直接在原型中添加初始化函数;
        页面:    var suchen = new Game();
                suchen.init();
        原型:    init : function(now){
                    //此处调用一系列执行函数;如:绘制,动画
                    
                },
        
4.初始化fps,便于游戏的流畅性。在初始化位置初始化fps,并在原型中添加pfs更新获取;
        初始化:    this.fps;            //用于fps频率
                this.lastTime;        //用于更新fps频率
        
        原型:    fps : function(now){
                    this.fps = 1 / (now - this.laseTime) * 1000;        //获取canvas在设备中最好的频率
                    this.lastFramTime = now;                            //用于下一次更新频率
                    return this.fps;
                }
5.于原型初始化函数中调用各种方法;
        原型:    
                init : function(){
                    suchen.animate();        //并在原型中新增 animate函数;        注意调用名为
                },
                animate : function(now){
            if(!suchen.paused){    //这里第六步说明   suchen.clearRectCanvas(); //首先清空画布,并在下方新增清空函数,避免绘制重叠   suchen.fps(now); //获取最佳频率   //------------此处进行一系列的函数制作游戏
            } requestAnimationFrame(suchen.animate); //执行循环本函数,用于时刻更新 }, clearRectCanvas : function(){ suchen.content.clearRect(0,0,this.canvas.width,this.canvas.height); },
6.于初始化函数中新增一个this.pausedTime用于游戏的绝对暂停和再开始;
    初始化:  this.pausedTime;
          this.paused = false;  //true 或者 false自定 并在animate的函数中定义是否是暂停开始
    原型:  togglePaused : function(){
            var now = +new Date();
            this.paused = !this.paused;
            if(!this.paused){
              this.pausedTime = now;
            }else{
              this.lastTime += (now - this.pausedTime);
            }
          },

  

  

 

 

转载于:https://www.cnblogs.com/sugege/p/7873316.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值