animacion (solucionado gracias a m.rr)

Buenos dias ,  quisiera saber si estoy haciendo bien la animacion en este punto, que estoy tratando de darle animacion o movimiento con el RAWSET a mis muñequitos , gracias

rawset(link."walk"."up",image.loadsprite("sprites/link_walk_up.png",22,27))
rawset(link."walk"."down",image.loadsprite("sprites/link_walk_down.png",22,27))
rawset(link."walk"."right",image.loadsprite("sprites/link_walk_right.png",22,27))
rawset(link."walk"."left",image.loadsprite("sprites/link_walk_left.png",22,27))

Notese que estoy quitando los  [ ] en la palabra "walk" y estoy remplazando las comas por puntos enseguida de walk y  enseguida de link.

Gracias por contestar es que apenas estoy aprendiendo .ah tambien les agradeceria ,si estoy equivocado me faciliten la forma

en la que deberia escribir los codigos ...gracias de nuevo

 


 

 


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Chimecho

rawset...

No sé, creo que no lo dejé muy claro en el tuto ya que todo mundo piensa que esa función (rawset) es la que le da "vida" al personaje.

Pues no, esa función sólo pone valores en una tabla, es decir:

rawset(tabla, clave, valor) es lo mismo que tabla[clave] = valor

Ahora, las formas de poner claves en una tabla:

tabla["clave"] = valor; -- la clave es una string, va entre [ ] y entre " "
tabla.clave = valor; -- otra forma de poner una clave, hace exactamente lo mismo que la de arriba
tabla[número] = valor; -- donde número es cualquier número entero

Es por eso que te da error, no puedes poner tabla."clave", además, al cambiar la coma por el punto estás alterando la sintaxis de rawset.

Lo correcto sería una de estas formas:

rawset(link.walk, "up", image.loadsprite(etc....))
rawset(link["walk"], "up", image.loadsprite(etc....))
link.walk.up = image.loadsprite(etc...)
link["walk"]["up"] = image.loadsprite(etc...)
link["walk"].up = image.loadsprite(etc...)
link.walk["up"] = image.loadsprite(etc...)

Todas hacen exactamente lo mismo.

 

Saludos!



PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]

07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD

Recuerda: Sé el intérprete -_-

Imagen de Andres_Ne

Todo el codigo

mira esto  es lo que trato de hacer..obiamente no esta terminado 

link ={stay={},walk={}}
 
link.stay.up.= imagen.load("sprites/link_stay_up.png")
link.stay.down.= imagen.load("sprites/link_stay_down.png")
link.stay.right.= imagen.load("sprites/link_stay_right.png")
link.stay.left.= imagen.load("sprites/link_stay_left.png")
 
rawset(link.walk.up = image.loadsprite("sprites/link_walk_up.png",22,27))
rawset(link.walk.down = image.loadsprite("sprites/link_walk_down",22,27))
rawset(link.walk.right = image.loadsprite("sprites/link_walk_right",22,27))
rawset(link.walk.left = image.loadsprite("sprites/link_walk_left",22,27))
si en algo estoy mal porfavor diganmenlo


 

 

Imagen de barney77

Como dice RG, tienes un

Como dice RG, tienes un concepto equivocado sobre como se usa rawset, chime haya arriba te lo pone muy bien.

Te dire exactamente lo mismo que chime te dijo pero con ejemplos.

Este ejemplo:

rawset(link["walk"], "up", image.loadsprite(parametros));

Es lo mismo que este otro ejemplo:

link["walk"]["up"] = image.loadsprite(parametros)

Ahora, en base a esto, nos damos cuenta que tu tienes:

rawset(link.walk.up = image.loadsprite(parametros));

Y la forma correcta de hacerlo sería..

rawset(link.walk, "up", image.loadsprite(parametros));

Y otro error, por aca..

link.stay.up.= imagen.load("sprites/link_stay_up.png")
link.stay.down.= imagen.load("sprites/link_stay_down.png")
link.stay.right.= imagen.load("sprites/link_stay_right.png")
link.stay.left.= imagen.load("sprites/link_stay_left.png")

Tienes un punto de más al declarar la variable del array y la funcion que usas no existe, es image.load(); , no imagen.load();, . Y otra cosa más, seguramente que la imagen que quieres cargar es un sprite, por lo que debes usar image.loadsprite();, recuerda que rawset NO da vida al personaje(ya lo dijo chimecho). Por lo que...

link ={stay={},walk={}};
 
link.stay.up = image.loadsprite("sprites/link_stay_up.png",22,27);
link.stay.down = image.loadsprite("sprites/link_stay_down.png",22,27);
link.stay.right = image.loadsprite("sprites/link_stay_right.png",22,27);
link.stay.left = image.loadsprite("sprites/link_stay_left.png",22,27);
 
rawset(link.walk, "up", image.loadsprite("sprites/link_walk_up.png",22,27));
rawset(link.walk, "down", image.loadsprite("sprites/link_walk_down",22,27));
rawset(link.walk, "right", image.loadsprite("sprites/link_walk_right",22,27));
rawset(link.walk, "left", image.loadsprite("sprites/link_walk_left",22,27));

Este es el codigo correcto.

Si no has entendido vuelve a leer el tutorial, y de paso todos los demás.

Un saludo, mucha suerte!.

 

Imagen de Andres_Ne

pero

pero si chime dijo que era asi

link.stay.up = image.load("sprites/link_stay_up.png")
link["stay"].down = image.load("sprites/link_stay_down.png")
link.stay["right"] = image.load("sprites/link_stay_right.png")
link["stay"]["left"] = image.load("sprites/link_stay_left.png")
 

y el tambien estaba cargando sprites  tu dices que es asi

link.stay.up = image.loadsprite("sprites/link_stay_up.png",22,27);
link.stay.down = image.loadsprite("sprites/link_stay_down.png",22,27);
link.stay.right = image.loadsprite("sprites/link_stay_right.png",22,27);
link.stay.left = image.loadsprite("sprites/link_stay_left.png",22,27);

entonces como es perdon por ser tan tapado pero seme dificulta mucho porfavor tenga paciencia


 

 

Imagen de barney77

De las 2 formas es correcto,

De las 2 formas es correcto, solo que en la primera(en la de chime) lo hace de 4 maneras diferentes y en la segunda(la que te di yo) solo de una manera.

Un saludo,cualquier duda comenta.

Imagen de Andres_Ne

Tienes razon

Ok ya entendi lo de rawest  ultima duda tu pones asi

link.stay.up = image.loadsprite(parametros)

y chime en su tutorialmlo hace asi

link.stay.up =imagen.load(parametros)

la diferencia esta entre  el load..y el...loadsprite y los dos sirven para cargar sprites?porque chime carga sprites con el image.load pero tu me aconsejas que los cargue con loadsprite?

gracias por tu ayuda ya entendi casi todo

 

PD:queria saber quien es el personaje de la foto tuya la veo en  muchas partes


 

 

Nop, image.load carga

Nop, image.load carga imágenes simples e image.loadsprite carga... sprites xD (resulta bastante obvio dados los nombres de las funciones).

Aquí lo que pasa es que a barney medio se la ha ido la pinza. En el tuto de chime, link.stay denota al personaje cuando está estático, por eso carga sólo una imagen sencilla.
link.walk define un sprite que se bliteará cuando el personaje camine. Lo carga como sprite, pues para anirmalo sencillamente.

A por cierto... si no estás seguro de lo que hace X función, pues revisa la documentación de LuaDEV :P

Imagen de barney77

Cierto, se me fue la onda,

Cierto, se me fue la onda, rober tiene la razon.

Y el personaje de mi avatar es Yao Ming.

Un saludo!.

Imagen de Andres_Ne

Gracias y..

gracias chime... por tu ayuda y por ese tuto tan bueno que tienes quisiera saber si este valor esta bien escrito(obiamente solo es el primer valor ,los otros los escribo si me das el visto bueno a este)

rawset(link.walk.up = image.loadsprite("sprites/link_walk_up.png",22,27))

gracias por tu tiempo chime..

 

 

Imagen de Chimecho

Casi

Vuelve a leer mi comentario de arriba sobre qué es lo que hace rawset, porque en este caso, no es necesario... O eso creo yo, no sé exactamente qué es lo que quieres hacer.



PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]

07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD

Recuerda: Sé el intérprete -_-

Imagen de Andres_Ne

Chime esque tu lo que haces

Chime esque tu lo que haces en el comentario de arriba es esto:

 

sin el rawsetlink.walk.up = image.loadsprite(etc...) 


y lo que yo trato de hacer es esto
rawset(link.walk.up = image.loadsprite("sprites/link_walk_up.png",22,27))
casi lo mismo solo que con el rawset al principio porfa sacame de duda

 


 

 

Es que la sintaxis que

Es que la sintaxis que piensas usar con rawset NO es correcta, fíjate en el coment de chime arriba, para que veas las formas válidas ;)

Imagen de User170294

O.O solo es eso tu código?

O.O solo es eso tu código?

Imagen de Andres_Ne

Si

si porque te parece insignificante? , como dije antes estoy aprendiendo..no creo que tu empesaras a programar el primer dia que estudiaste lua...de todos modos me hubiera gustado que en ves de despreciar mi "codigo" me hubieras ayudado ,,pero no importa si quieres me puedes ayudar ya que la ignorancia no es  veguenxa si no motivacion a aprender... 

graciias  y espero que me ayudes con mi "codigo"


 

 

Imagen de User170294

Lo he dicho en el sentido de

Lo he dicho en el sentido de que no había un bucle ni nada. Pensaba que pensabas que poniendo solo eso ya te hiba a funcionar. Me parece que en ningún momento he dado a entender lo contrario.


Imagen de Andres_Ne

Ok

te ofreso disculpas perdon fue mi culpa malinterprete tus palabras..borron y cuenta nueva?

Imagen de m.rr

Supongo que THC solo mostraba

Supongo que THC solo mostraba sorpresa por la cantidad del code y no queria despreciarlo.

Para hacer lo que quieres tines que poner:

rawset(link.walk.loquesea) sin las comilla

Imagen de Andres_Ne

Gracias

gracias me ayudaste bastante ahorta entiendo porque lado irme.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.