Foros del Web » Programando para Internet » Android »

Corona sdk y Lua

Estas en el tema de Corona sdk y Lua en el foro de Android en Foros del Web. Muy buenas a todos. Supongo que al ver este título, muchos habréis pensado: mira, otro principiante más que le gusta copiar códigos y hacer sus ...
  #1 (permalink)  
Antiguo 14/12/2013, 18:32
 
Fecha de Ingreso: diciembre-2013
Mensajes: 6
Antigüedad: 10 años, 4 meses
Puntos: 0
Pregunta Corona sdk y Lua

Muy buenas a todos.

Supongo que al ver este título, muchos habréis pensado: mira, otro principiante más que le gusta copiar códigos y hacer sus "juegecitos" con Android.

Bueno, siendo realistas, sí, pero por otra parte no. Soy un usuario de la vieja escuela que aprendió a programar de forma imperativa, y no con programación orientada a objetos. Aún así, en la universidad me querían comer la cabeza y estudié Java en segundo de carrera y... fue un poco caótico.

La cuestión es que siempre me ha gustado diseñar y crear juegos, y me han hablado muy bien de Corona Sdk y del lenguaje Lua.

Para aprender estoy siguiendo un bloc (lentísimo, pero agradecido) en castellano que hace un profesor de un master de Corona Sdk y unos videotutoriales en inglés de un programador experto.

Ahora bien, necesito un poco de ayuda. Y espero poder colaborar en todos los temas posibles para ayudar a la comunidad.

Como os he dicho antes, estoy aprendiendo y necesito resolver unas cuantas dudas.

Tengo el siguiente código:

Código Lua:
Ver original
  1. H = display.contentHeight;
  2. W = display.contentWidth;
  3. mRand = math.random;
  4.  
  5.  
  6. local function spawnOrb ()
  7.  
  8.     local orb = display.newImageRect("Icon.png", 45, 45);
  9.     --orb:setReference(display.CenterReferencePoint);
  10.     orb.x=mRand (50, W-50); orb.y = mRand (50, H-50);
  11.    
  12.    
  13. end
  14.  
  15. local function focus_touch( event )
  16.     if event.phase == "began" then
  17.  
  18.         display.getCurrentStage():setFocus( event.target )
  19.         event.target.isFocus = true
  20.  
  21.     elseif self.isFocus then
  22.         if event.phase == "moved" then
  23.  
  24.             self.isVisible = false
  25.  
  26.         elseif event.phase == "ended" or event.phase == "cancelled" then
  27.  
  28.             display.getCurrentStage():setFocus( nil )
  29.             event.target.isFocus = false
  30.         end
  31.     end
  32.  
  33.     return true
  34. end
  35.  
  36. tmr = timer.performWithDelay (1000, spawnOrb, 5)
  37.  
  38. orb:addEventListener("touch",focus_touch);

El objetivo del mini-programa es que cuando aparezcan las imágenes, yo pueda cklicarlas y hacerlas desaparecer.

Como es obvio, orb me da error porque aún no han sido creadas las instancias. De todos modos, me gustaría saber como puedo declararlas para que no me de el error. Por otra parte, tampoco se si es la mejor manera de conseguir mi objetivo.

La última duda que tengo es la sentencia:

--orb:setReference(display.CenterReferencePoint);

Me da error siempre, y por eso lo tengo como comentario. Lo raro es que en los videotutoriales no tienen ningún problema.

Pues eso es todo. Cualquier duda sobre Corona y los tutoriales que estoy siguiendo, me lo preguntáis.
  #2 (permalink)  
Antiguo 28/12/2013, 08:34
 
Fecha de Ingreso: diciembre-2013
Mensajes: 6
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Corona sdk y Lua

La historia, es que no se hace mediante este código. Para lo que yo quería hacer, hay que usar "view" Button. De todos modos, seguramente existe una manera. Porque en el caso que yo quisiera hacer una función que crea bolas indefinidamente, y al pulsarlas desaparecen, tengo que crear un botón diferente cada vez? La solución sería que hubiera una función que identifique que elemento ha sido seleccionado, y que lo haga desaparecer. Por otro lado, si es POO, cada una de las instancias debería tener la propiedad de desaparecer al ser clicadas.

Tengo una duda más general, en la creación de un videojuego, que solución es más viable:

1. Crear todos los elementos y activarlos solamente durante un tiempo determinado (por ejemplo apretar un botón en el nivel 2, ya que en el 1 no aparece. En ese caso está creado, pero hasta el nivel 2, nadie sabe que existe).

2. Cada vez que se llama una pantalla, crear de nuevo todos los elementos y borrarlos una vez utilizados

Gracias de antemano

Etiquetas: sdk
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:30.