在类对象上使用补间,函数定义?

时间:2014-03-03 15:50:26

标签: javascript class tween

我正在尝试打开和关闭场景的场景效果。但是我的自我和这个价值观出了问题。它说未定义或不起作用。怎么能定义这些功能。

我试图定义的方式 第一种方式:

var tween = createjs.Tween.get(this.scene).to({alpha : 0}, 5000).call(menuOutCompleted(nextScreen,isNextScreenPopUp));

投掷“menuOutCompleted未定义”;

第二种方式:

   var tween = createjs.Tween.get(this.scene).to({alpha : 0}, 5000).call(self.menuOutCompleted(nextScreen,isNextScreenPopUp));

它不会抛出任何异常,但不会补间。它直接执行menuOutCompleted。

第三种方式:

var tween = createjs.Tween.get(this.scene).to({alpha : 0}, 5000).call(this.menuOutCompleted(nextScreen,isNextScreenPopUp));

它的工作方式与第二种方式相同。

我的js课程

function CreditsScreen(SceneContainer)
{
var closePopUp_Button, background;
this.name = "CreditsScreen";
var self = this;
this.scene = new createjs.Container();
this.loadScreen = function()
{

    background = new createjs.Shape();
    background.graphics.beginBitmapFill(loader.getResult("coronaLogo")).drawRect(0,0,512,512);
    background.x = 200;
    background.y = 0;

    closePopUp_Button = new createjs.Sprite(buttonData, "exitIdle");
    closePopUp_Button.framerate = 30;
    closePopUp_Button.x = 400;
    closePopUp_Button.y = 22;

//  play.addEventListener("click", handleClickPlay);

    this.scene.alpha = 0;

    this.scene.addChild(background);
    this.scene.addChild(closePopUp_Button);
}


this.menuIn = function()
{
    console.log("menuIn   CreditsScreen" );
    stage.addChild(this.scene);
    //ptoblemetic part with self.menuInCompleted?
    var tween = createjs.Tween.get(this.scene).to({y : 0, x : 0, alpha : 1}, 5000).call(self.menuInCompleted);

}


this.menuInCompleted = function()
{
    console.log("menuInCompleted   CreditsScreen" );
    self.addButtonEventListeners();

}

this.menuOut = function(nextScreen,isNextScreenPopUp)
{
    console.log("menuOut   CreditsScreen" );
    self.removeButtonEventListeners();
    if(isNextScreenPopUp == true)
    {
        self.menuOutCompleted(nextScreen,isNextScreenPopUp);
    }
    else
    {
    //problematic part with menuInCompleted?
        var tweenSplash = createjs.Tween.get(this.scene).to({alpha : 0}, 5000).call(menuOutCompleted(nextScreen,isNextScreenPopUp));
    }

}

this.menuOutCompleted = function(nextScreen,isNextScreenPopUp)
{
    console.log("menuOutCompleted  CreditsScreen" );
    if (isNextScreenPopUp)
    {

    }
    else
    {
        stage.removeChild(this.scene);
        this.scene.x = 0;
        this.scene.y = 0;
        this.scene.alpha = 1;
    }
    changeMenu(nextScreen, this.name, isNextScreenPopUp, true);

}

1 个答案:

答案 0 :(得分:0)

确定。我解决了这个问题。这是我的通话功能。我发送了menuoutcompleted(a,b)之类的参数,但在补间结构中它必须是(menuoutCompleted,[a,b])。

现在,它有效:)