Jump to content

Precionar 'bindKey' varias veces


Anzo

Recommended Posts

Una pregunta un poca tonta, pero en fin. Mi problema es éste:

function key()
	setElementPosition(theObject, x+1,y,z)
end
for i,v in ipairs(getElementsByType("player")) do
	bindKey(v,"w","down",key)
end

El objeto se mueve hacia adelante, pero solo una vez, o sea, preciono 'w' una vez y se mueve, pero si preciono la tecla de nuevo no pasa nada, no sé si es porque estoy haciendo un for para sacar al jugador, pero si pongo ' source ' me da error.

Link to comment

Disculpa por no contestar antes, pero tuve un problema con la internet. 

No creo que funcione porque  ya tengo un x, y, z = getElementPosition(player), solo que esta en otra función, voy a probar poniéndolo en la misma función cuando este en la pc. (si, el x, y, z en la otra función es global, así que me debería dejar usarlo también en esa función, de todas formas probaré) 

Edited by Anzo
Interner c:
Link to comment

 function key(thePlayer)

x, y, z = getElementPosition(thePlayer)

         setElementPosition(thePlayer, x+1, y, z)

end

for i, v in ipairs (getElementsByType("player")) do

     bindKey(v, "w", "down", key)

end

Edited by Mauro.e
fix
Link to comment

@Mauro.e x, y, z lo pones como variable global, eso está mal. Y aparte, estás moviendo al jugador... (?

function doMove( player )
	local x, y, z = getElementPosition(player)
    setElementPosition( objeto, tonumber(x)+1, tonumber(y), tonumber(z) )
end


local players = getElementsByType( 'player' )
for i=1, #players do
	bindKey( players[i], "w", "down", doMove )
end

 

Edited by aka Blue
Link to comment
19 minutes ago, Mauro.e said:

@aka Blue si, olvide de poner el x, y, z en variable local. respecto al jugador lo entendí como que el mismo quería moverse ya que no vi ningún tipo objeto al cual mover.

Para que quiero mover al jugador con la 'w'(?

 

31 minutes ago, aka Blue said:

@Mauro.e x, y, z lo pones como variable global, eso está mal. Y aparte, estás moviendo al jugador... (?


function doMove( player )
	local x, y, z = getElementPosition(player)
    setElementPosition( objeto, tonumber(x)+1, tonumber(y), tonumber(z) )
end


local players = getElementsByType( 'player' )
for i=1, #players do
	bindKey( players[i], "w", "down", doMove )
end

 

Gracias. Se puede hacer que se mueva para donde estes mirando? yo use Matrix para que el objeto se cree siempre donde este, pero no veo algo como Matrix.setPosition 

Edited by Anzo
Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...