Programm LUA (LÖVE) Programmierung "BoxCollide" Error (für Programmierprofis) Hilfe!

Dieses Thema im Forum "Programmierung" wurde erstellt von AchtungTroll, 2. November 2012.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. AchtungTroll
    Offline

    AchtungTroll

    Registriert seit:
    9. Juli 2012
    Beiträge:
    330
    Ort:
    Erfurt
    Minecraft:
    Xusiy
    Hallo Leute, ich habe mich mal an ein simples Spiel gewagt und war überglücklich als die Gegner spawnen, natürlich will ich auch das sie bei Berührung verschwinden. So weit so gut, es gibt irgend ein Fehler in diesen Abschnitt:
    Code (Text):
    1. function boxCollide(rect1, rect2)  
    2.     local rect1x2 , rect1y2 , rect2x2, rect2y2 = rect1.x + rect1.w, rect1.y + rect1.h, rect2.x + rect2.w + rect2.h
    3.    
    4.     return rect1.x < rect2x2 and rect1x2 > rect2.x and rect1.y < rect2y2 and rect1y2 > rect2.y
    5.    
    6. end
    Ich glaub nicht das ihr was damit anfangen könnt, das wegen ist hier der ganze Sourcecode: http://www.mediafire.com/?697hwgu71g5h7nd
    Ich hab wirklich 3 mal den gesamten Code durchgegangen, ich hab nichts gefunden. Ich bitte um hilfe!
     
    #1
  2. AchtungTroll
    Offline

    AchtungTroll

    Registriert seit:
    9. Juli 2012
    Beiträge:
    330
    Ort:
    Erfurt
    Minecraft:
    Xusiy
    Weiß den keiner was :(?
     
    #2
  3. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Ich glaube nicht das Löve hier sehr populär ist.
    Wenn du auf pygame umsteigst, kann ich dir helfen :p
     
    #3
  4. AchtungTroll
    Offline

    AchtungTroll

    Registriert seit:
    9. Juli 2012
    Beiträge:
    330
    Ort:
    Erfurt
    Minecraft:
    Xusiy
    Erstmal will ich das fertig haben, danach guck ich es mir mal an :)
     
    #4
  5. Crafter213
    Offline

    Crafter213

    Registriert seit:
    9. August 2012
    Beiträge:
    353
    Das ist nur eine Vermutung; von LUA hab ich auch keine Ahnung..;)


    Code (Text):
    1.  
    2. local rect1x2 , rect1y2 , rect2x2, rect2y2
    Das sieht so aus, als ob du dir 4 lokale Variablen definierst. Richtig?
    Wenn ja:

    Code (Text):
    1.  = rect1.x + rect1.w, rect1.y + rect1.h, rect2.x + rect2.w + rect2.h
    Das sieht so us, als ob du diesen Variablen Werte zuweist.
    Da du vorher mehrere Variablen per Komma getrennt definiert hast, kannst du ihnen hier auch Werte Zuweisen;
    dabei ist d erste Wert bis zum ersten Komma für die erste Variable, der zweite Wert für die zweite Variable usw...
    Richtig oder völlig daneben? ;)

    Nach der Ansicht definierst du 4 Variablen und gibst diesen 4 Variablen aber nur 3 Werte...



    Wenns nicht passt: Ein Versuch wars wert ;)
     
    #5
  6. AchtungTroll
    Offline

    AchtungTroll

    Registriert seit:
    9. Juli 2012
    Beiträge:
    330
    Ort:
    Erfurt
    Minecraft:
    Xusiy
    Yea Danke :D Nach ner Zeit kommt aber ne fehlermeldung:
    Naja, egal. Werd ich irgendwann mal fixen.
    #3DIT:
    Ok was solls, wer findet den Fehler?:
    Code (Text):
    1.  
    2.         for i,v in ipairs(enemies) do
    3.             for ii,vv in ipairs(spaceship.bullet) do
    4.                 if boxCollide(enemies[i], spaceship.bullet[ii]) then
    5.                     table.remove(enemies, i)
    6.                     table.remove(spaceship.bullet, ii)
    7.             end
    8.         end
    9.     end
    10. end
    11.  
    12. function boxCollide(rect1, rect2)
    13.    
    14.     local rect1x2 , rect1y2 , rect2x2 , rect2y2 = rect1.x + rect1.w, rect1.y + rect2.h , rect2.x + rect2.w , rect2.y + rect2.h
    15.    
    16.     return rect1.x < rect2x2 and rect1x2 > rect2.x and rect1.y < rect2y2 and rect1y2 > rect2.y
    17.    
    18. end
    19.  
    20.  
     
    #6
Status des Themas:
Es sind keine weiteren Antworten möglich.