Una cosa, estais poniendo dos variables, dirección y velocidad, cuando lo podeis poner solo la velocidad. Más o menos algo simple:
objeto ={imagen = image.create(100, 100, color.new(255, 255, 0)), x =190, y 86, vx =2, vy =2}-- Creamos un array con nuestro objetowhiletruedo
objeto.imagen:blit(objeto.x, objeto.y)-- Imprimimos nuestro objeto
objeto.x = objeto.x+objeto.vx -- Sumamos a x la velocidad de xif objeto.x <=0or objeto.x >=480then objeto.vx = - objeto.vx end-- Cambiamos la velocidad de signo si x sale de la pantalla
objeto.y = objeto.y+objeto.vy -- Sumamos a y a la velocidad de yif objeto.y <=0or objeto.y >=480then objeto.vy = - objeto.vy end-- Cambiamos la velocidad de signo si y sale de la pantalla
screen.flip()end
El mensaje era para Jorge y Aitor, que era un apunte porque ellos.estaban utilizando dos variables cuando se puede utilizar una sola. Lo malo es que no podía poner dos respuestas, por lo que contesté al del post.
Si al añadir (Sumar) píxeles el cuadrado va a la derecha y al quitar (Restar) va a la izquierda ya lo tienes:
direccion=1whiletruedo--Si direccion es 1 que vaya a la derecha (Sumar Pix) sino a la izquierda (Restar pixeles) =)if direccion==1then x=x+1else x=x-1end--Si pasa algo que tu escribas aqui que cambie la direccionif condicion then direccion=direccion+1end--Límite para la direccionif direccion>2then direccion=1endend
Supongo a que te refieres a que en la pantalla un cuadrado por ejemplo choque con algo y cambie su sentido ¿no?
Haz algo así:
direcx =1--Sentido de movimiento del objeto en el eje x (1 derecha, -1 izquierda)
directy =1--Sentido de movimiento del objeto en el eje y (1 abajo, -1 arriba)
velocidad =2--Píxeles que aumentan con cada bucle
objeto ={image.create(50,50,color.new(255,0,0)),215,111}-- Creamos imagen, e indicamos las coordenadas iniciales (215 en x y 111 en y)whiletruedo--Abrimos bucle principal
objeto[1]:blit(objeto[2],objeto[3])--Mostramos la imagen en pantalla
objeto[2]= objeto[2] + (velocidad * directx)--Movimiento x
objeto[3]= objeto[3] + (velocidad * directy)--Movimiento yif objeto[2]<=0then directx =1--Cambio de sentido en x elseif objeto[2]>=480then directx = - 1end--Cambio de sentido en x if objeto[3]<=0then directy =1--Cambio de sentido en yelseif objeto[3]>=272then directy = - 1end--Cambio de sentido en y
screen.flip()--Damos la vuelta a la imagenend--Cerramos bucle
Mmm...
Una cosa, estais poniendo dos variables, dirección y velocidad, cuando lo podeis poner solo la velocidad. Más o menos algo simple:
Así no necesitamos variables innecesarias.
NekeOS, el nuevo shell para PSP
PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.
Sony Xperia Z1 Compact con Android 5.1.1
Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).
¿Y como sabes que "tipo" de
¿Y como sabes que "tipo" de rebote quiere?
Mmm...
El mensaje era para Jorge y Aitor, que era un apunte porque ellos.estaban utilizando dos variables cuando se puede utilizar una sola. Lo malo es que no podía poner dos respuestas, por lo que contesté al del post.
NekeOS, el nuevo shell para PSP
PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.
Sony Xperia Z1 Compact con Android 5.1.1
Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).
By Jorge_97
uhm sí...
Creo que el ejemplo es suficiententemente básico para que lo entienda... de todos modos el tuyo es mejor obviamente
Un saludo
Dos años en SCENEBETA
Click aquí para ver la Entrada de Bitácora.
By Jorge_97
...
Dios mio de mi vida...
Mira piensate el algoritmo y ya está:
Si al añadir (Sumar) píxeles el cuadrado va a la derecha y al quitar (Restar) va a la izquierda ya lo tienes:
Dos años en SCENEBETA
Click aquí para ver la Entrada de Bitácora.
Te equivocas, quieres
Te equivocas, quieres decir: ¿Alguien ME PUEDE HACER un rebote en LuaDEV?
La
La cosa es que no sabía ni por donde empezar...
Saludos!
Si quieres hacer ese tipo de cosas...
Con un algoritmo se arregla si quieres un code ordenado :)
+1
Es que tal cual lo dice...
By Jorge_97
xD
Sip... aqui estamos para proporcionar Codes...
nah, asi aprenderá yo ya le dejé el mio... marca artesanal xD
Saludetes
By Aitor
Supongo a que te refieres a que en la pantalla un cuadrado por ejemplo choque con algo y cambie su sentido ¿no?
Haz algo así:
No lo he probado, pero creo que debería servir.
Sígueme en Twitter: @Aitor_db
Mmm...
¿Puedes especificar más?
Antes de nada te recomendaría que repases matemáticas, porque probablemente lo que quieres hacer es muy facil.
NekeOS, el nuevo shell para PSP
PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.
Sony Xperia Z1 Compact con Android 5.1.1
Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).