2017-05-05 43 views
0

我們將動畫項目,HTML5,並且它傾倒的是創建一個Sprite類對象的多個實例代碼。通過在剪斷部分什麼是一起createjs雪碧纏結在一起的實例?

// Quarter Back copy 1 
this.instance_19 = new lib.quarterback(); 
this.instance_19.parent = this; 
this.instance_19.setTransform(-16.1,-371.1); 
this.instance_19._off = true; 

this.timeline.addTween(cjs.Tween.get(this.instance_19) /* snip! */ .to({_off:true},1).wait(51)); 

// Quarter Back copy 2 
this.instance_20 = new lib.quarterback(); 
this.instance_20.parent = this; 
this.instance_20.setTransform(-16.1,-371.1); 
this.instance_20._off = true; 

this.timeline.addTween(cjs.Tween.get(this.instance_20) /* snip! */ .to({_off:true},1).wait(51)); 

// Quarter Back copy 3 
this.instance_21 = new lib.quarterback(); 
this.instance_21.parent = this; 
this.instance_21.setTransform(-16.1,-371.1); 
this.instance_21._off = true; 

this.timeline.addTween(cjs.Tween.get(this.instance_21) /* snip! */ .to({_off:true},1).wait(51)); 

// etc. 

一切形成這些實例的開始在時間軸上,最多:它產生精靈的定義是這樣的:

(lib.quarterback = function() { 
    this.spriteSheet = ss["Page12_Canvas_atlas_"]; 
    this.gotoAndStop(11); 
}).prototype = p = new cjs.Sprite(); 

而且,那些被多次使用這樣的該示例,工作正常。然而,每個精靈的唯一一個實例(quarterback在這種情況下)被成功地被從時間線在除去/接近尾聲。其他人只是被困在最後的位置。

我們已經證明,這些實例都是靠自己OK - 消除他們的所有,但任何一個顯示的預期行爲。但是,具有任何給定Sprite的多個實例似乎可以防止它們全部被刪除。

這是怎麼回事?

回答

0

下面的例子將切換目標OFF ON幀0,然後再打開對框架1可以使用「可見」屬性來達到同樣的效果。

var tween = createjs.Tween.get(target).to({_off:false}).wait(1).to({_off:true}).wait(1).to({_off:false}); 

在上面的代碼中,target是圖形,隱藏/顯示我們正在使用_off。

即使我得到這個問題我已經解決了通過調用函數和隱藏影片剪輯

this.timeline.addTween(cjs.Tween.get(this.instance_21).to({_off:true},1).wait(51).call(hideInstance,this)); 
function hideInstance() 
{ 
this.instance_21.visible =false; 
}