Delete Funktioniert nicht

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

schalli

Betreff: Delete Funktioniert nicht

BeitragSo, Mai 03, 2009 18:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
  For xxx = start_1 To start_1+23
    For yyy = 0 To 17
      For Objekt.TObjekt = Each TObjekt
        If Objekt\x = xxx And Objekt\y = yyy Then
          DrawImage obje(Objekt\id),xxx*tsize+xplus-(start_1*tsize),yyy*tsize+yplus

          If Objekt\id = 9 Or Objekt\id = 4 Or Objekt\id = 3 Or Objekt\id = 0 Or Objekt\id = 1 Then
            ox = xxx*tsize+xplus-(start_1*tsize) : oy = yyy*tsize+yplus
            ow = ImageWidth(obje(Objekt\id)) : oh = ImageHeight(obje(Objekt\id))
            If fx+30=ox Then
              If fy>oy-60 And fy<oy+oh Then
                rechts = 1
              EndIf
            EndIf
            If fx-ow=ox Then
              If fy>oy-60 And fy<oy+oh Then
                links = 1
              EndIf
            EndIf
            If fy+60=oy Then
              If fx>ox-30 And fx<ox+ow Then
                unten=1
              EndIf
            EndIf
            If fy=ty+oh Then
              If fx>ox-30 And fx<ox+ow Then
                oben=1
              EndIf
            EndIf
          Else
            If ImagesCollide(figur,fx,fy,frm,obje(Objekt\id),xxx*tsize+xplus-(start_1*tsize),yyy*tsize+yplus,0) Then
              If Objekt\id = 2 Then money = money + 1 Else hydro = hydro + 1
              Delete Objekt ; Hier ist das Problem
              DebugLog "A"  ; Hier ist das Problem
            EndIf
          EndIf
        EndIf
      Next
    Next
  Next

Die Funktion Delete löscht das aktuelle Feld nicht.
Sollte sie aber eigentlich. DebugLog sagt mir, dass die Stelle aufgerufen wird.
Warum funktioniert sie nicht?
(Stelle im Code markiert)
 

da_poller

BeitragSo, Mai 03, 2009 18:07
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
 Delete Objekt.TObjekt

ComNik

BeitragSo, Mai 03, 2009 18:07
Antworten mit Zitat
Benutzer-Profile anzeigen
soll das feld gelöscht werden wenn object\id = 2 ?
dann probier mal
Code: [AUSKLAPPEN]

     if ibject\id = 2 then
              money = money + 1 Else hydro = hydro + 1
              Delete Objekt ; Hier ist das Problem
              DebugLog "A"  ; Hier ist das Problem
     EndIf
   
     


lg

[edit]@da_poller: ich benutze immer nur Delete objekt, klappt immer[/edit]
WIP: Vorx.Engine
 

schalli

BeitragSo, Mai 03, 2009 18:15
Antworten mit Zitat
Benutzer-Profile anzeigen
@da_poller: Delete Objekt klappt auch.
Das verwende ich nämlich an ner anderen Stelle im Code bereits Delete.
Deswegen ist es ja auch so seltsam

@comnik: Worauf willst du hinaus mit deinem code?

ComNik

BeitragSo, Mai 03, 2009 18:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Achso sorry,
ich mein dass If .. Then <anweisungen>
meiner meinung nach als einzeiliger befehl gewertet wird.
Deswegen wird alles darunter ganz normal ausgeführt.
Aber ist nur eine vermutung
WIP: Vorx.Engine

The_Nici

BeitragSo, Mai 03, 2009 19:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Mach mal ein Stop rein und guck im Debugger nach, was für ein Wert Objekt hat.
MfG

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group