Type Problem.(< Neues Problem, bitte um Hilfe!)
Übersicht

Blitzkrieg BopBetreff: Type Problem.(< Neues Problem, bitte um Hilfe!) |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hoi!
Also, folgendes Problem: Warum kann ich per Druck auf die Leertaste nicht nacheinander die Kreise löschen? Code: [AUSKLAPPEN] Graphics 800,600,23,2 SetBuffer BackBuffer() SeedRnd MilliSecs() Type mauer Field x,y End Type m.mauer = New mauer m\x = 200 m\y = 200 m.mauer = New mauer m\x = 400 m\y = 200 Repeat For m.mauer = Each mauer Oval m\x,m\y,50,50 If KeyHit(57) Delete m.mauer EndIf Next Flip Forever |
||
~ Hey Ho Let's Go ~ |
- Zuletzt bearbeitet von Blitzkrieg Bop am So, Mai 23, 2004 18:21, insgesamt 2-mal bearbeitet
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
die werden gelöscht... nur das bild wird nicht gelöscht ![]() versuch mal cls! ![]() |
||
MrKeks.net |
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke ![]() Aber das war nur ein anschauliches Beispiel, ich habe hier mal meinen Code gepostet, mit dem das gleiche passieren soll (und hier habe ich cls). Tschuldigung für die mysteriösen Variablen Bezeichnungen ![]() Code: [AUSKLAPPEN] Graphics 800,600,23,2 SetBuffer BackBuffer() SeedRnd MilliSecs() Type zahn Field x,y,ill,art End Type Global rmod = 0 , vari = 0 ,ko = 0, ko2 = 0 ,ko3 = 0, ko4 = 0 z.zahn = New zahn ;zahn 1 z\x = 100 z\y = 200 If rmod = 0 Then z\ill = Rand(1,3) EndIf If z\ill = 1 ko = 1 rmod = 99 EndIf If ko = 1 Color 255,0,255 Text z\x,z\y-100,"Zahn Nr. "+ko+" ist es!" Oval z\x,z\y,50,50 Color 129,129,129 EndIf If ko <> 1 Color 129,129,129 Oval z\x,z\y,50,50 EndIf z.zahn = New zahn ;zahn 2 z\x = 200 z\y = 200 If rmod = 0 Then z\ill = Rand(1,3) EndIf If z\ill = 1 ko = 2 rmod = 99 EndIf If ko = 2 Color 255,0,255 Text z\x,z\y-100,"Zahn Nr. "+ko+" ist es!" Oval z\x,z\y,50,50 Color 129,129,129 EndIf If ko <> 2 Color 129,129,129 Oval z\x,z\y,50,50 EndIf Repeat Cls For z.zahn = Each zahn If KeyHit(57) Delete z.zahn EndIf Next Flip Forever |
||
~ Hey Ho Let's Go ~ |
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
funktioniert doch, wenn man die ifblöcke richtig positioniert ![]() Code: [AUSKLAPPEN] Graphics 800,600,23,2 SetBuffer BackBuffer() SeedRnd MilliSecs() Type zahn Field x,y,ill,art End Type Global rmod = 0 , vari = 0 ,ko = 0, ko2 = 0 ,ko3 = 0, ko4 = 0 z.zahn = New zahn ;zahn 1 z\x = 100 z\y = 200 z.zahn = New zahn ;zahn 2 z\x = 200 z\y = 200 Repeat Cls For z.zahn = Each zahn If rmod = 0 Then z\ill = Rand(1,3) EndIf If z\ill = 1 ko = 1 rmod = 99 EndIf If ko = 1 Color 255,0,255 Text z\x,z\y-100,"Zahn Nr. "+ko+" ist es!" Oval z\x,z\y,50,50 Color 129,129,129 EndIf If ko <> 1 Color 129,129,129 Oval z\x,z\y,50,50 EndIf If KeyHit(57) Delete z.zahn EndIf Next Flip Forever |
||
MrKeks.net |
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Aber bei deinem neuen verbessertem Code, verfehlt das Prog ja das Ergebniss, denn:
Da sind die beiden Kreise immer Lila! Es soll ja sozusagen gelost werden, welcher Lila ist. (So wie es bei meinem Prog oben ist, wenn du da das CLS entfernst!!! < Probiere mal und du wirst es sehen!). Aber trotzdem Danke ![]() |
||
~ Hey Ho Let's Go ~ |
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok, altes problem gelöst, neues ist da.
Ich habe foglgendes in einer Funktion stehen: Code: [AUSKLAPPEN] If RectsOverlap(z\x,z\y,50,50,MouseX(),MouseY(),1,1) vari2 = 1 EndIf Das klappt auch gut, nur wnen man mit der Maus über das Objekt geht, steht die Variable die ganze Zeit auf eins. Normalerweise müsste die doch nur auf 1 stehen , wenn der Zeiger mit Objekt überlappt oder?...sehr komisch... ![]() |
||
~ Hey Ho Let's Go ~ |
![]() |
Michi1988 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein warum?
Dann musst du schreiben if bab then bla=1 else bla=0 end if |
||
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
häh.. ![]() edit: achso...ok, werds gleich mal testen ![]() |
||
~ Hey Ho Let's Go ~ |
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
habe es nun so stehen:
Code: [AUSKLAPPEN] For z.zaun = Each zaun If RectsOverlap(z\x,z\y,50,50,MouseX(),MouseY(),1,1) vari2 = 1 Else vari2 = 0 EndIf Next Wenn ich das nun so mache, klappt das acuh, aber nur auf einem meiner insgesamt 9 objekte! immer auf dme, was ganz unten rechts ist....!? ![]() |
||
~ Hey Ho Let's Go ~ |
![]() |
Michi1988 |
![]() Antworten mit Zitat ![]() |
---|---|---|
BLOP.
Weil es immer der letzte is der dann geändert wird. bei den anderen werden die nachfolgenden auch noch geprüft und die berührst du ja nich alse wird sie WIEDER null gesetzt |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group