0

なんらかの理由で、コードを取得したときにコードが応答しないif love.keyboard.isDown("s")多分私は関数を間違って使用していますが、それでも奇妙です。

love.keypressed と love.update で Menu() 関数を使ってみました。まだ応答がありません。

完全なコードは次のとおりです。

main.lua

function love.load()
require "menu"
select = love.graphics.newImage("select.png")
Menu()
end
function love.draw()
   Menu()
end
function love.keypressed(key)
   Menu()
end

function love.update()
   Menu()
end

menu.lua

function Menu()
sly = 300
love.graphics.draw(select,sly,300)
if key == "w" then
    sly = sly + 50
end

if love.keyboard.isDown("s") then
    sly = sly - 50
end
end
4

1 に答える 1

0

ここで何をしようとしているのか正確にはわかりませんが、関数では、変数を呼び出すたびに変数Menu()をリセットし、画像を描画した後に変更しています。この結果、何も起こりません。slysly

sly外部で初期化されるように変更するとMenu()、「s」キーを押したときに少なくとも画像が移動します。また、「s」で一方向に移動させ、「w」で逆方向に移動させたい場合、コードは次のようになります。

sly = 300

function Menu()

    love.graphics.draw(select,sly,300)
    if love.keyboard.isDown("w") then
        sly = sly + 50
    end

    if love.keyboard.isDown("s") then
        sly = sly - 50
    end
end

または、関数を使用せずに呼び出すときにkey変数をに渡すこともできます。Menu()love.keypressedkeyboard.isDown

繰り返しますが、ここで実際に何をしようとしているのかはわかりませんが、コードは正常に機能しているように見えます。論理エラーがあるだけかもしれません。

于 2012-04-13T17:56:18.607 に答える