Anuncios Google

crear cursor con luaDev

bueno he seguido este tutorial pero me da error

cursor = {
   img = image.load("cur.png"),
   x = 240,
   y = 136,
   procesa = function (yomismo)
      if controls.analogx > 40 then yomismo.x = yomismo.x + 3; end
      if controls.analogx < 40 then yomismo.x = yomismo.x - 3; end
   end,
   blit = function (yomismo) 
      yomismo:procesa();
      yomismo.img:blit(yomismo.x,yomismo.y);
   end
}

tutorial :http://psp.scenebeta.com/node/82479

el error es : attempt to compare number with function



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.

Supongo que Deviante dejó los

Supongo que Deviante dejó los errores a propósito para que tuviéramos algo de diversión xD

Hice estas modificaciones, y va bien:

--Esto: 
   if controls.analogx > 40 then yomismo.x = yomismo.x + 3; end
      if controls.analogx < 40 then yomismo.x = yomismo.x - 3; end
--Cambiarlo por:
   if controls.analogx() > 40 then yomismo.x = yomismo.x + 3; end
      if controls.analogx() < -40 then yomismo.x = yomismo.x - 3; end
--[[
   Ese 40 es muy adecuado para los analógicos con vida propia xD,
   pero se puede modificar a voluntad, dependiendo de la sensibilidad deseada
]]
 
--La función
   blit = function (yomismo)
--Renombrarla
   mostrar = function (yomismo)
 
--Y finalmente, a la hora de usarlo, en lugar de
   cursor:blit()
--Pongo
   cursor:mostrar()
--Obvio, verdad? Porque renombré la función :P

OJO: que eso sólo es para el movimiento horizontal, para el vertical debes agregar un par de condiciones más (controls.analogy()... por ahi va la cosa)

cursor = { img =

cursor = {
   img = image.load("cur.png"),
   x = 240,
   y = 136,
   procesa = function (yomismo)
      if controls.analogx() > 40 then yomismo.x = yomismo.x + 3; end
      if controls.analogx() < 40 then yomismo.x = yomismo.x - 3; end
      if controls.analogy() > 40 then yomismo.y = yomismo.y + 3; end
      if controls.analogy() < 40 then yomismo.y = yomismo.y - 3; end
   end,
   blit = function (yomismo) 
      yomismo:procesa();
      yomismo.img:blit(yomismo.x,yomismo.y);
   end
}

Imagen de barney77

Seguramente el error te lo da

Seguramente el error te lo da aquí:

    if controls.analogx > 40 then yomismo.x = yomismo.x + 3; end
      if controls.analogx < 40 then yomismo.x = yomismo.x - 3; end

Prueba así:

cursor = {
   img = image.load("cur.png"),
   x = 240,
   y = 136,
   procesa = function (yomismo)
      if controls.analogx() > 40 then yomismo.x = yomismo.x + 3; end
      if controls.analogx() < 40 then yomismo.x = yomismo.x - 3; end
   end,
   blit = function (yomismo) 
      yomismo:procesa();
      yomismo.img:blit(yomismo.x,yomismo.y);
   end
}

Faltaban los (), la proxima vez di en que línea da el error, me es más facil ayuadarte de esa forma :p.

ahora el cursor se mueve solo

ahora el cursor se mueve solo acia la izquierda

Quizas tu analógico te esté fallando...

Que es otra posibilidad...

Ponlo así: if

Ponlo así:

if math.abs(controls.analogx()) > 40 then yomismo.x = yomismo.x + controls.analogx()/80; end
if math.abs(controls.analogy()) > 40 then yomismo.y = yomismo.y + controls.analogy()/80; end

Ahora no se mueve el raton

Ahora no se mueve el raton 

el error es

el error es : attempt to compare number with function

Imagen de Dioni0396

Que error da?

Que error da?

PD: la verdad es que nunca entendi ese tutorial, no te puedo ayudar.

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.