Ver Mensaje Individual
  #9 (permalink)  
Antiguo 14/03/2014, 06:30
Chete
 
Fecha de Ingreso: febrero-2005
Mensajes: 143
Antigüedad: 19 años, 9 meses
Puntos: 0
Respuesta: Juego con corona SDK (LUA)

Gracias, estoy aun realizando pruebas pequeñas y ver que me puede servir, de momento he creado esto para hacer que una barra que sale en la pantalla se vaya vaciando ( seria la vida por ejemplo) y que necesites darle pociones, que aumentaran su vida.

Quiero saber si hay una forma mas sencilla de hacer esto:

Código:
local cantidadpocion = 1
local pocion = display.newText("pocion x " .. cantidadpocion, 100, 100)
local damevida = display.newCircle( 50, 10, 20, 20 )
damevida:setFillColor( 255, 255, 0 )

local blanco = display.newRect(120, 270, 102, 10)

local vida = 100
   digimon2 = display.newRect(121, 271, vida, 8)
   digimon2:setFillColor( 255, 0, 0 )

local function vidaDown()
  digimon2.isVisible = false
   
   if(vida>0)then
     if(vida>100)then
       vida = 100
          vida = vida-1
   digimon2 = display.newRect(121, 271, vida, 8)
   digimon2:setFillColor( 255, 0, 0 )
   else
   vida = vida-1
   digimon2 = display.newRect(121, 271, vida, 8)
   digimon2:setFillColor( 255, 0, 0 )
   end
     elseif(vida<=0)then
   digimon2 = display.newRect(121, 271, 100, 8)
   digimon2:setFillColor( 255, 255, 0 )
     end
     digimon2.isVisible = true
  end
timer.performWithDelay(200,vidaDown,0)

local rect = display.newCircle( display.contentWidth - 50, display.contentHeight - 10, 20, 20 )
rect:setFillColor( 255, 255, 0 )

function state1Cb( event )
  if (cantidadpocion>0) then
	vida = vida + 20
  cantidadpocion = cantidadpocion - 1
  pocion.text = "pocion x " .. cantidadpocion
else
  print("No tienes pociones")
  end
end

function addListener1()
    rect:addEventListener( "tap", state1Cb )
end


addListener1()  

function state2Cb( event )
	cantidadpocion = cantidadpocion + 1
  pocion.text = "pocion x " .. cantidadpocion
end

function addListener2()
    damevida:addEventListener( "tap", state2Cb )
end


addListener2()
Pido perdón por el desorden, aun estoy aprendiendo y meto cosas sin sentido en los nombres de variables o el código desordenado.

Si podéis probarlo o mirarlo y ver si eso justo se puede hacer de otra manera simplificada os lo agradecería, me lié un poco con el timer.performWithDelay, por que no entendía las opciones que tengo que poner dentro.

También tengo un sprite con física y gravedad, sale justo debajo de la barra de vida, y al dar a cualquier lado de la pantalla hace un "salto", me gustaría saber como puedo hacer que la barra que la he puesto justo encima salte con el sprite, osea, como si fuera la barra de vida de ese personaje, y salga justo encima de su cabeza siempre.

Y por ultimo otra duda que tengo es como puedo hacer que aunque el codigo no sea seguido, yo coloque las imágenes donde quiera, es decir, si pongo un circulo blanco y luego un circulo rojo, sale primero el rojo y debajo oculto el blanco, si quiero que el blanco pase a primer plano, ¿como lo tengo que hacer?

gracias!

EDITO:

También quiero saber si para hacer que la barra baje necesito hacer todo el rato el .isVisible = true y false, si no hago eso todo el rato se crea la imagen sin quitar la anterior y se hacen muchas barras, pero igual hay una forma mas sencilla.

Y por ultimo, he notado que a veces cuando la vida esta en 0 un rato, si doy al boton de dar vida, no hace nada, pero si le doy otra vez ya si rellena la vida, no se es como si hubiera retardo y no llegara la señal de dar vida.

GraciaS!

Última edición por Chete; 14/03/2014 a las 06:36 Razón: Mas preguntas