Va, pues intente con esto:
smell = {} smell[1] = image.load("smell.png") asb = math.cos(0) asb2 = math.sin(0) while true do asb = asb+math.cos(30) asb2 = asb2+math.sin(30) x = math.cos(math.rad(asb)) y = math.sin(math.rad(asb2)) smell[1]:blit(x,y) if x==asb then x = x+asb end if y==asb2 then y = y+asb2 end -- Si Y es igual que asb2, entonces Y sera igual a Y + asb2, lo mismo con X. math.min(math.max(0,x), 480-50) math.min(math.max(0,y), 272-50) screen.flip() end
Pero se queda estancado..
bueno
Eso pasa cuando se empieza por lo difícil y sin tener idea de lo que se va a hacer...
No suelo poner code, pero estás más perdido que adán en el día de las madres:
Espero que con eso quede claro...
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 -_-
Bueno..
Bueno..
Pues, si me faltaba la multiplicacion...
Gracias!.
....
ando medio dormido (es tarde aki), pero bueno, si mañana no ha respondido nadie te respondo yo.
Asi por encimita, par de cosas: 361º es lo mismo que 1º, asi que no hay necesidad de reiniciar el angulo, y otra cosa, deberias inicializar el angulo en 0 y luego ir sumando en grados, cuando pases el angulo a las funciones seno y coseno, convierte a radianes con math.rad.
Y una ultima cosa, la base de un movimiento, es que una variable aumente cada vez que de una vuelta dentro del bucle, es decir, variable = variable + desfase, donde desfase es la cantidad que aumenta a cada vuelta.
Tamañana!
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 -_-
Ya intente
Ya intente con esto:
Pero no se mueve se queda estancado.
....
claro que se mueve, solo que no lo notas, dos cosas:
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 -_-
He actualizado
He actualizado el codigo, mira el Post, y ahora leo el coment...
da hell?
pero si estaba bien...
Eso, prácticamente está bien, PERO, como dije en el comment de abajo, dan valores entre CERO y UNO, asi que máximo verás que se mueve un píxel, a penas y se nota...
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 -_-
Entonces
Entonces.... Necesito funciones que me den valores absolutos de Y y X o necesito multiplicacions en ves de sumas, digo para que se mueva NOTABLEMENTE?
xD
a ver, digo que math.cos y math.sin devuelven valores entre 0 y 1, sólo sería cosa de multiplicar los valores que te devuelvan por el valor del radio del círculo y ya tienes.
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 -_-
Hise
Hice esto:
Pero nada no se mueve, sigue igual..
....
www.myfacewhen.com/58/
.....
Haz un favor... lee desde aquí: http://psp.scenebeta.com/node/75425#comment-605229
S:
S: o multiplico o sumo?... ya me confundiste..
Bueno mira aprte de que sigue el mismo problema tengo otro, presiono X, O cumplo cualquiera de los ifs y nada... no hace nada:
EDITO: Era el controls.read() xD..
Bueno pero con lo otro.. mira el code, dime en qe fallo, ponme la linea donde fallo-
Va
Va que va, ahora a seguirle dando, eso mero te decia usar multipicaciones!.
Saludos y de verdad gracias Chime.
Gracias
Gracias, y seguro que vies en México, yo en el DF y son la 1:30 de la mañana.
Na...
Soy de Ecuador, y era un poquito más tarde que esa hora.
En fin, como vas?
Pues
Pues apenás voy a reaundar el proyecto, esque ah!, como es la Escuela.
Saludos Chime.
Bueh...
No soy un maestro de las artes gráficas, pero creo que con esto basta para explicar:
(seee, paint powa! xD)
Vale, el punto x,y es el punto que queda justo en el borde del círculo para el ángulo ang, entonces, para obtener las coordeandas, tenemos las siguientes fórmulas:
Pero ojo, que estas dos funciones reciben ángulos en radianes, no en grados, pero en Lua disponemos de math.rad(grados) para convertir. Además, estas dos funciones devuelven valores entre 0 y 1, osea que con una multiplicación puedes aumentar el radio.
Ahora, una cosa importante, math.sin toma como positivo lo que está arriba, es decir que: math.sin(math.rad(90)) da como resultado 1, y math.sin(math.rad(270)) da como resultado -1, ten en cuenta que la psp trabaja al revés, negativo arriba, positivo abajo.
Espero te sirva :)
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 -_-
Pues
Pues nada mas que decir: eres un maestro! xD, no sabes de cuanto me servirá esto.
VALE HE ECHO ESTO:
Peo se queda estancada en uan cordenada.
math.ceil redondea HACIA
math.ceil redondea HACIA ARRIBA. OJO: redondea números con decimales solamente. Si le pasas un entero, te devuelve el mismo entero. Ejemplos (número introducido - número devuelto):
Si gustas ver de manera más tangible cómo funciona, revisa este código:
La salida serán sólo números enteros, que cambiarán suficientemente lento como para verlo.
Ah
Ah, tú siempre ayudandome xD, ok, solo tuviste el diminuto error de no cerrar el for, otra duda acerca del for, el argumento que dice 0.2 es la velocidad en la que se mostraran los cambios de numeros o el tamaño de la letra?.
Otra pregunta más, es lo mismo poner (i) a [i]?..
Y por ultimo, entonces si me devuelve esos numeros, como haré para que la cordenada se mueva(redondee), ya que he intentado con: x = math.ceil(150.3). Y se queda estancado en una cordenada.
Nuevamente gracias!
Que va, si estaba cerrado,
Que va, si estaba cerrado, pero tenía otro error xD
Bueno, te cuento sobre el for. La 3a opción es el "paso". Normalmente ves que los for sólo llevan dos números, no? El inicio y el fin del ciclo. Eso es porque si no especificas el 3ro, por omisión se toma como 1.
El for que he puesto, aumenta 0.2 cada pasada a la variable i, es decir, i valdrá 0, 0.2, 0.4, 0.6, 0.8, 1, 1.2... y así hasta llegar a 20.
Cuando haces una llamada a una función, siempre debes usar paréntesis. Los [corchetes] se usan con tablas.
Tu coordenada jamás se va mover, porque no tienes código para que lo haga. Es decir, siempre le pasas a math.ceil el mismo argumento (el entero).
Si quieres que se mueva, pues pon algo de código que mueva una variable, y pásale esa variable a math.ceil, como lo hice en el ejemplo que te dejé (no necesariamente debe ser un for, puede ser cualquier cosa, incluso una vil suma, tipo x = x + algo xD)
Ok,
Ok, gracias.
Ahora intentaré.
EDITO: Mirá he intentado así_
Y me maca: script.lua2: bad argument #1 to ceil(number expected, got nil ).
Cuidado... estás usando una
Cuidado... estás usando una variable, y la declaras después, eso no debe ser. Siempre se declaran primero, y se usan debajo.
Las líneas 2 y 3 de ese script ponlas debajo de la declaración de x2
PD. En la tabla pusiste vl en lugar de vel, cuidado xD
Que va
Que va, sigue igual, mira:
Se estanca en una cordenada D=, disculpa ser tna preguntón, esque ah! que dificl D=.
Líneas 4 y 5, mételas al
Líneas 4 y 5, mételas al while.
Va, pues.
Va, pues
Se sigue estancando, ahora tengo el code así:
Me marca que el primer argumenteo de el bliteo es un valor nulo, seguro es porque declare la variable x despues de usarla.
Y he intentado así:
Y se queda estancado.
Definitivamante me debo
Definitivamante me debo dedicar a otra cosa...
Va,
Va, una pregunta más..
Aparte de que no redondea si no se sige de largo...¿porque se tiene que sumar m dentro del bucle?, por cada pasada o que?
este...
Una cosa, redondear, no es hacer círculos, redondear es pasar un número decimal a uno entero siguiendo una fórmula, como por ejemplo en math.ceil(numero) que redondea para arriba, es decir, coge todo lo que está antes del punto, le suma uno y te lo devuelve. En el caso de math.floor(numero) coge lo que está antes del punto, le resta uno y te lo devuelve...
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 -_-
oops
Ahora que leo de nuevo mi comment, tengo un error xD
Lo que quise decir al final es: math.floor(numero) coge lo que está antes del punto y te lo devuelve...
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 -_-
Ah..
Ah.. rayos...
Que bobo soy, entonces tendré que hace rmi script de diferente manera..
O sabes que funcion me ayudaria a hacer un circulo pues, que la figura se mueva en circulo.
sep
Busca en la docu por math.sin, math.cos, math.rad, math.deg, y en wikipedia: seno y coseno, te ayudará bastante para saber que 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 -_-
Grace
Grace ahora investigo y analizo :D
Exacto, cada pasada del
Exacto, cada pasada del bucle, toma el valor anterior de m y le suma smell.vl.
Antes de entrar, inicializamos m con un valor fijo, y al entrar al while, empezará a cambiar.
Vale,
Vale, gracias rober! :')
math.ceil(255.3) es
math.ceil(255.3) es 256
math.floor(255.3) es 255
lo que hace es redondear el numero que tengas dentro del paretesis.
Aver,
Aver, deja intento redondeando la cordenada X.
EDITO: Se queda estancado, no redondea.
PD= Porque lo pones en decimal(255.3)?