2017-01-03 6 views
0

LOVE2Dでリピートするにはどうすればキャラクターを動かすことができますか?LOVE2Dのリピートループでhump.timerを使用するにはどうすればよいですか?

私は

function love.keypressed(key) 
if key=='left' then 
repeat 
imgx=imgx+1 
timer.after(1,function() end) 
until not love.keyboard.isDown('left') 
end 
end 

を試みたが、それは私を助けてworked.Pleaseませんでした!

+0

あなたはキャラクターを移動させたり(なぜならimgx' 'のかわからない)彼のスプライト画像の変更をしたいのですが?基本的な動きのために 'hump'モジュールは必要ありません。 – Rok

+0

私はそれを使用して文字を移動したいです。 – arthurgps2

+0

arthurgps2:あなたは連続した動き(キャラクターが非常に遠くに移動するためのボタンを押したままにしておく必要がありますか)や不連続な動きをしたいですか?(ボタンを一度タップしてください。 –

答えて

2

キーを押したときに画像を移動しようとしているようです。サードパーティ製のライブラリタイマーを使用することは、このために非常に複雑です。

XとYの変数をイメージに関連付け、それらの変数を使用してイメージを描画します。 love.keypressedコールバックを使用するか、連続して移動したい場合は、キーの入力をlove.updateにチェックすることで変更できます。

例:

function love.load() 
    sprite = {x=0, y=0, image=love.graphics.newImage("test.jpg")} 
    speed = 3 
end 

function love.update(dt) 
    if love.keyboard.isDown("left") then sprite.x = sprite.x - speed end 
    if love.keyboard.isDown("right") then sprite.x = sprite.x + speed end 
    if love.keyboard.isDown("up") then sprite.y = sprite.y - speed end 
    if love.keyboard.isDown("down") then sprite.y = sprite.y + speed end 
end 

function love.draw() 
    love.graphics.draw(sprite.image, sprite.x, sprite.y) 
end 
関連する問題