Jump to content
Rpg²S Forum
  • 0

" Undefined method '-' " ???


nihil-omen
 Share

Question

Allora, questo bug me lo dovete spiegare...

Il codice incriminato è questo:

 

def single_coo_dist(x1, y1, x2, y2)  dx2 = x1 - x2  dy2 = y1 - y2  if dx2 < 0	dx2 *= -1  end  if dy2 < 0	dy2 *= -1  end  distance2 = dx2 + dy2  return distance2end

 

Alla riga "dy2 = y1 - y2"

 

Mi da errore (Undefined method '-') quando richiamo il metodo...

I valori che gli passo vengono da un altro script che fa questo:

 

x2 = @spot_x[a]	  y2 = @spot_y[a]	  @distance.push(single_coo_dist(boss_x, x2, boss_y, y2))

 

Dove @spot_x e @spot_y sono due array di numeri...

Ho fatto il passaggio su altre due variabili (x2 e y2) sperando che risolvesse il problema, ma è stato inutile!

 

L'unica cosa che mi viene in mente è che possano essere visti come se non fossero entrambi degli interi.

Però allora perchè la riga "dx2 = x1 - x2" non da problemi????

 

Che senso ha?

 

Help please ç______ç

http://i30.tinypic.com/xehois.gif

} 2rA - web site {

E' disponibile il primo capitolo completo di 2rA!

} 2rA: Capitolo I {

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

sicuro non sia il *= - adare problemi? prova

dx2 = dx2*(-1)

o

dx2 *= (-1)

 

sennò cominca a mettere parentesi ovunque!

Edited by Dax

Membro Segreto della
Vecchia Guardia del Making [Gif in fase di reload]


SCContest1Oct.gif
gifnatale1.pnggifnatale12.png

Link to comment
Share on other sites

  • 0

Raga, è possibile effettuare il cast su rgss? Cioè, sicuramente si può, ma come? XD

Su Java c'erano diversi modi, in base al cast, a me servirerebbe il corrispettivo di

 

int variabile_castata = (int)variabile_da_castare

 

Ovvero far diventare un numero, un int.

 

Come si fa? :O

http://i30.tinypic.com/xehois.gif

} 2rA - web site {

E' disponibile il primo capitolo completo di 2rA!

} 2rA: Capitolo I {

Link to comment
Share on other sites

  • 0

con .to_i

 

esempio:

 

dy2 = y1.to_i - y2.to_i

 

 

In ogni caso... sicuro che il valore che gli passi esista sempre o, appunto, non sia una stringa quella che gli stai passando?

Progetti:

 http://i.imgur.com/jmLkIqi.png

http://i54.tinypic.com/2rh4ojq.png

https://github.com/ProGM

 

Crea anche tu il tuo gioco per Game Boy!
http://rpg2s.net/gif/SCContest3Oct.gifhttp://www.rpg2s.net/img/fablecontest1st.pnghttp://i43.tinypic.com/1zokd2s.png


http://i.imgur.com/BEu6G.gif

http://i.imgur.com/H1ARhq7.gif

http://i.imgur.com/Af6ijZN.gif

AOT: Associazione Odiamo la Telecom:

http://i.imgur.com/aYJs89E.png

"4 gattini... 4 stelline... E le 4 paperelle non ci stavano :3"

Flame


http://i30.tinypic.com/i27ypj.png

Link to comment
Share on other sites

  • 0

Grazie!

 

Che esista sempre son più che certo... e anche che non possa essere una stringa XD

Mettendo il .to_i non da più problemi, anche se non funziona come vorrei io, ma l'errore penso sia su un altro script XD

 

Ora do un'occhiata per bene ;)

 

Grazie ancora *_________*

http://i30.tinypic.com/xehois.gif

} 2rA - web site {

E' disponibile il primo capitolo completo di 2rA!

} 2rA: Capitolo I {

Link to comment
Share on other sites

  • 0

sai come si trovano i bug negli script?

 

facendo "printare" i valori su schermo, con il comando print o p

 

def single_coo_dist(x1, y1, x2, y2)p [x1, x2, y1, y2]  dx2 = x1 - x2  dy2 = y1 - y2  if dx2 < 0	dx2 *= -1  end  if dy2 < 0	dy2 *= -1  end  distance2 = dx2 + dy2  return distance2end

 

se viene printato un "nil" qualcosa non quadra ù_ù e puoi anche sapere cosa

 

(ps, se il comando viene richiamato ogni frame in questo modo, il gioco si pianta, continuando a printare all'infinito, devi terminarlo col task manager XDDDDD)

Progetti:

 http://i.imgur.com/jmLkIqi.png

http://i54.tinypic.com/2rh4ojq.png

https://github.com/ProGM

 

Crea anche tu il tuo gioco per Game Boy!
http://rpg2s.net/gif/SCContest3Oct.gifhttp://www.rpg2s.net/img/fablecontest1st.pnghttp://i43.tinypic.com/1zokd2s.png


http://i.imgur.com/BEu6G.gif

http://i.imgur.com/H1ARhq7.gif

http://i.imgur.com/Af6ijZN.gif

AOT: Associazione Odiamo la Telecom:

http://i.imgur.com/aYJs89E.png

"4 gattini... 4 stelline... E le 4 paperelle non ci stavano :3"

Flame


http://i30.tinypic.com/i27ypj.png

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...