2016-11-27 16 views
0

私が間違いを犯していることがわかりました。あなたが私を助けることができれば非常にうれしいです。私は1つのトランジションをしたい。lua、コロナのSDKでonCompleteを使用する方法

local ball = display.newCircle(160,0,30) 

local function move() 
ball.x = display.contentWidth/2 
ball.y = display.contentWidth-display.contentWidth-ball.contentWidth*2 
transition.to(ball, {x=display.contentWidth/2, y=display.contentHeight*1.3, time=5000, onComplete=move2}) 
end 

local function move2() 
ball.x = display.contentWidth+ball.contentWidth/2 
ball.y = 0-ball.contentWidth/2 
transition.to(ball, {x=0-ball.contentWidth/2, y=display.contentHeight+ball.contentWidth/2, time = 5000}) 
--transition.to(ball,{x=160,y=240}) 
end 

move() 

答えて

0

あなたの問題は何ですか?

てみてください(テスト)

local ball = display.newCircle(160,0,30) 

local function move2() 
    ball.x = display.contentWidth + ball.width * 0.5 
    ball.y = -ball.width * 0.5 
    transition.to(ball, {x=-ball.width * 0.5, y=display.contentHeight + ball.width * 0.5, time = 5000}) 
end 

local function move() 
    ball.x = display.contentWidth * 0.5 
    ball.y = -ball.width * 2 
    transition.to(ball, {y=display.contentHeight * 1.3, time=5000, onComplete=move2}) 
end 

move() 

あなたは、関数名を使用する前に、あなたが初めてそれを使う場所上記ボディ部と同じ名前の変数またはput関数を宣言しなければなりません。

あなたはmove2transition.toはちょうどあなたが無限の遷移を取得

local ball = display.newCircle(160,0,30) 

local move 

local function move2() 
    ball.x = display.contentWidth + ball.width * 0.5 
    ball.y = -ball.width * 0.5 
    transition.to(ball, {x=-ball.width * 0.5, y=display.contentHeight + ball.width * 0.5, time = 5000, onComplete=move}) 
end 

function move() 
    ball.x = display.contentWidth * 0.5 
    ball.y = -ball.width * 2 
    transition.to(ball, {y=display.contentHeight * 1.3, time=5000, onComplete=move2}) 
end 

move() 

お知らせ以下のコードを使用して完了した後、再びmove関数を呼び出したい場合。 Corona blogの関数スコープの詳細については、こちらをご覧ください。

+0

@Idurniat関数move()の関数move()に移動したい場合はどうすればよいですか?move2()関数の上にありますか?私の問題について – QuestionEverything