stein löschen
Übersicht

![]() |
mas93Betreff: stein löschen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] If ImagesCollide(kugel,k\kugel_x,k\kugel_y,0,stein,s\stein_x,s\stein_y,0) Then Delete s\stein And k\kugel_winkel# = 360 - k\kugel_winkel#[quote] hi,habt ihr ne ahnung warum das nicht geht??? wäre nettwenn ihr antworten würdet thx[/quote] |
||
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] If ImagesCollide(kugel,k\kugel_x,k\kugel_y,0,stein,s\stein_x,s\stein_y,0) Then Delete s\stein And k\kugel_winkel# = 360 - k\kugel_winkel#
AND ist hier völlig falsch. Verwende den Doppelpunkt als Trennzeichen einzelner Befehle |
||
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
das sieht uahcn irgendwie so aus, als ob du nur ein feld löschen würdest. Das geht nicht. | ||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
danke,aber da kommt jetzt ne meldung type field not found | ||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
weil das feld, was du löschen oder verändern willst, garnicht vordefiniert ist.
beschäftige dich mal mit den kommandos: field type |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Delete s\stein
Den Befehl Delete kannst du nicht mit einzelnen Feldern verwenden. Wie heißt dein Typename? Delete s.[Typename] Den Typename legst du irgendwo weiter oben fest: Code: [AUSKLAPPEN] type TStein
field x,y field blablabla end type |
||
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics 1024,768,16,1 SetBuffer BackBuffer() Global player1 = LoadImage("gfx/player1.png") MaskImage player1,0,0,255 Global player1_x=100,player1_y=650 Global kugel= LoadImage("gfx/kugel.png") MaskImage kugel,0,0,255 Global back=LoadImage("gfx/back.png") Global stein = LoadImage("gfx/stein.bmp") MaskImage stein,0,0,255 ;daten für die kugel Type kugel Field kugel_x# Field kugel_y# Field kugel_winkel# End Type ;Types für die steine Type stein Field stein_x Field stein_y End Type ;17 steine nach rechts und 15 steine nach unten erzeugen For i=1 To 17 For j=1 To 15 s.stein = New stein s\stein_x = s\stein_x + i*55 s\stein_y = s\stein_y + j*20 Next Next ;Zufallsgenerator SeedRnd MilliSecs() ;1 kugel erzeugen k.kugel = New kugel k\kugel_x = Rnd(100,700) k\kugel_y = Rnd(100,700) k\kugel_winkel = Rnd(0,359) ;--------------->>>>Hauptschleife<<<<---------------- Repeat Cls ;Alle kugeln abfragen die bisher erzeugt wurden For k.kugel = Each kugel DrawImage kugel, k\kugel_x,k\kugel_y,0 k\kugel_x = k\kugel_x + Cos(k\kugel_winkel#)*4 k\kugel_y = k\kugel_y + Sin(k\kugel_winkel#)*4 If k\kugel_x < 0 Or k\kugel_x > 1000 Then k\kugel_winkel# = 180 - k\kugel_winkel# EndIf If k\kugel_y <0 Then k\kugel_winkel# = 360 - k\kugel_winkel# EndIf If ImagesCollide(kugel,k\kugel_x,k\kugel_y,0,player1,player1_x,player1_y,0) k\kugel_winkel# = 360 - k\kugel_winkel# If ImagesCollide(kugel,k\kugel_x,k\kugel_y,0,stein,s\stein_x,s\stein_y,0) Then Delete s\stein And k\kugel_winkel# = 360 - k\kugel_winkel# ;Alle steine abfragen For s.stein = Each stein DrawImage stein,s\stein_x,s\stein_y Next Next ;--------------------BEWEGUNG-------------------------------- ;Den Balken nach links bewegen If KeyDown(203) Then ;Solange Spieler_x grösser ist als 0, dann nach links bewegen If player1_x > 0 Then player1_x = player1_x - 5 EndIf ;Den Balken nach rechts bewegen If KeyDown(205) Then ;Solange Spieler_x kleiner ist als 950, dann nach rechts bewegen If player1_x < 950 Then player1_x = player1_x + 5 EndIf DrawImage back,0,0 DrawImage player1,player1_x,player1_y Flip Until KeyHit(1) das is mein code |
||
NaTaS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
du löschst ein feld (,was gar nicht geht), was es sowieso nicht gibt?
willst du nicht vielleicht den stein löschen? Code: [AUSKLAPPEN] delete s
|
||
Diese von ihnen gewählte Signatur ist vorrübergehend nicht zu erreichen. Bitte versuchen sie es später noch einmal.
The signature you've called is temporarely not avaibled, please try again later. |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
jap ich will den stein löschen aber wnn ich jetzt anstatt delte s\stein
delete s schreibe,kommt da object does not exist??? |
||
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: If ImagesCollide(kugel,k\kugel_x,k\kugel_y,0,stein,s\stein_x,s\stein_y,0) Then Delete s\stein And k\kugel_winkel# = 360 - k\kugel_winkel#
1. Ersetze das And durch ein : 2. Du hast kein Stein ausgewählt also kommt auch "Entity does not exist" ->Mach diese Zeile auch in die "For s.stein=each stein"-Schleife |
||
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
er möchte das dieser stein wo berührt wird gelöscht wird.
also Delete s.stein mit Delete s löscht du alle bisher erstellte steine, also alle Eigenschaften die du bisher erstellt hast. und wie es aussieht hat er die eine For Schleife weiter unten beendet und die gleiche Schleife nochmal in dieser rein geschrieben. so sollte es gehen: Code: [AUSKLAPPEN] Graphics 1024,768,16,2
SetBuffer BackBuffer() Global player1 = LoadImage("gfx/player1.png") MaskImage player1,0,0,255 Global player1_x=100,player1_y=650 ;Stein laden Global stein = LoadImage("gfx/stein.bmp") MaskImage stein,0,0,255 ;Kugel laden Global kugel = LoadImage("gfx/kugel.png") MaskImage kugel,0,0,255 ;Types für die steine Type stein Field stein_x Field stein_y Field stein_loeschen End Type ;17 steine nach rechts und 15 steine nach unten erzeugen For i=1 To 17 For j=1 To 15 s.stein = New stein s\stein_x = s\stein_x + i*55 s\stein_y = s\stein_y + j*20 Next Next ;daten für die kugel Type kugel Field kugel_x# Field kugel_y# Field kugel_winkel# End Type ;Zufallsgenerator aktivieren SeedRnd MilliSecs() ;1 kugel erzeugen k.kugel = New kugel k\kugel_x = Rnd(100,700) k\kugel_y = Rnd(100,700) k\kugel_winkel = Rnd(0,359) ;--------------->>>>Hauptschleife<<<<---------------- Hauptspiel() Function Hauptspiel() Repeat Cls ;Alle kugeln abfragen die bisher erzeugt wurden For k.kugel = Each kugel DrawImage kugel,k\kugel_x,k\kugel_y k\kugel_x = k\kugel_x + Cos(k\kugel_winkel#)*4 k\kugel_y = k\kugel_y + Sin(k\kugel_winkel#)*4 If k\kugel_x < 0 Or k\kugel_x > 900 Then k\kugel_winkel# = 180 - k\kugel_winkel# EndIf If k\kugel_y < 0 Or k\kugel_y > 700 Then k\kugel_winkel# = 360 - k\kugel_winkel# EndIf Next ;Den Balken für Player1 zeichnen DrawImage player1,player1_x,player1_y ;Den Balken nach links bewegen If KeyDown(203) Then ;Solange Spieler_x grösser ist als 0, dann nach links bewegen If player1_x > 0 Then player1_x = player1_x - 5 EndIf ;Den Balken nach rechts bewegen If KeyDown(205) Then ;Solange Spieler_x kleiner ist als 700, dann nach rechts bewegen If player1_x < 700 Then player1_x = player1_x + 5 EndIf ;Alle steine abfragen For s.stein = Each stein DrawImage stein,s\stein_x,s\stein_y Next ;Alle steine und kugel abfragen, und eine kollision prüfen For k.kugel = Each kugel For s.stein = Each stein If ImagesCollide(kugel,k\kugel_x,k\kugel_y,0,stein,s\stein_x,s\stein_y,0) Then k\kugel_winkel# = 360 - k\kugel_winkel# s\stein_loeschen = 1 EndIf If s\stein_loeschen = 1 Then Delete s.stein EndIf Next Next Flip Until KeyHit(1) End Function Gruss Andreas |
||
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: er möchte das dieser stein wo berührt wird gelöscht wird.
Schon klar ich habe geschrieben: Zitat: ->Mach diese Zeile auch in die "For s.stein=each stein"-Schleife
Da die Zeile eine if-Bedingung enthält werden nicht alle, sondern nur berührte Steine gelöscht. ![]() |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
@bruce
so ganz doll viel ahnung hast du nicht, oder? delete s ist in diesem fall genau das selbe wie delete s.stein nur, dass das .stein garnicht da hin muss, da die variable bereits vordeklariert ist |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
StepTiger sry du hast recht, hab mich ein bissel vertan.
aber ich habe schon ahnung wie man mit Types arbeitet. Andreas |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group