【问题标题】:Call a tween in tick function createjs在tick函数createjs中调用补间
【发布时间】:2015-10-11 21:17:38
【问题描述】:

尝试在其他 2 个精灵的碰撞中对精灵的 alpha 进行补间

目前它不播放补间,只是跳转到 1 的 alpha

有没有办法让精灵补间到一个的 alpha 并保持这种状态?

我感觉它不起作用,因为 sprites 函数被连续调用?

     function tick(){
        checkCollision();
        stage.update();
        }

      var checkCollision = function(){
       if(gameState=="gameStarted"){  
        collision = ndgmr.checkPixelCollision(car,surfaceImg,0); 
        if(collision){
            score++;
            sprites("on");
            }else{
            sprites("off"); 

            }
        }
    }


    var sprites = function(toggleParam){   
    for(var i = 0; i < spriteArr.length; i++){
        if(i == 2 || i == 3){
            if(toggleParam=="on"){
        createjs.Tween.get(spriteArr[i]).to({alpha:1}, 500);

            }else{
        createjs.Tween.get(spriteArr[i]).to({alpha:0}, 500); 

            }
        }
    }
 }

【问题讨论】:

    标签: javascript createjs


    【解决方案1】:

    通过设置全局变量 extraSpites 解决了这个问题

    extraSpites = false;
    
    var sprites = function(toggleParam){   
         if(!extraSpites && toggleParam == "on"){
            extraSpites = true;
            createjs.Tween.get(spriteArray[2]).to({alpha:1}, 500);
            createjs.Tween.get(spriteArray[3]).to({alpha:1}, 500); 
         return    
          }else if(extraSpites && toggleParam == "off"){
            extraSpites = false;
            createjs.Tween.get(spriteArray[2]).to({alpha:0}, 500);
            createjs.Tween.get(spriteArray[3]).to({alpha:0}, 500);
         return;    
      }
    

    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-19
      • 1970-01-01
      • 2016-05-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多