nächstest bild
Übersicht

darkiBetreff: nächstest bild |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi ich habe mal ne frage. Warum wird das erste bild nicht gelöscht??
Code: [AUSKLAPPEN] Graphics 640,480,0,1 SetBuffer BackBuffer() SeedRnd MilliSecs() HidePointer Global geld#=1000 Global spielsb=LoadImage("spielstarten.bmp") Global option=LoadImage("option.bmp") Global maus=LoadImage("maus.bmp") Global ende=LoadImage("ende.bmp") Global hintergrund=LoadImage("hintergrund.bmp") Repeat Cls ClsColor 0,132,193 MidHandle spielsb MidHandle option MidHandle ende DrawImage ende,325,200 DrawImage spielsb,325,107 DrawImage option,325,300 MaskImage maus,255,0,255 DrawImage maus,mx-20,my-90 Text 50,0,"X:"+mx Text 100,0,"Y"+my mx=MouseX() my=MouseY() If ImagesCollide(maus,mx-20,my-90,0,spielsb,325,107,0) And MouseHit(1) boerse() EndIf If ImagesCollide(maus,mx-20,my-90,0,ende,325,200,0) And MouseHit(1) End EndIf Flip Forever Function boerse() DrawImage hintergrund ,0,0 End Function boerse() darki |
||
![]() |
sirokuhl |
![]() Antworten mit Zitat ![]() |
---|---|---|
als allererstes macht man midhandle und maskimage nicht in der schleife, sondern davor..
und welches bild möchtest du überhaupt löschen? |
||
darki |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das bild was man als erstes bekommt mit dem menü | ||
![]() |
Axe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Soweit ich das aus dem Code sehen kann, rufst du die Funktion, die das neue Bild zeichnet, nur ein einziges Mal auf. Du musst das so proggen, dass du eine Variable änderst und je nach dieser Variable springst oder nicht.
Also: Code: [AUSKLAPPEN] ... zeige_boerse=0 ... Schleife if [mausklick abfrage] then zeige_boerse=(zeige_boerse+1) Mod 1 if zeige_boerse=1 then boerse() ... Weiterhin sind mir noch ein paar weitere Sachen aufgefallen: die Vorbereitungsschritte für die Grafiken (MaskImage oder MidHandle) gehören nicht in die Schleife, sie müssen nur einmal ausgeführt werden. Auch das ClsColor gehört zumindest vor das Cls. Um später Speedproblemen aus dem Weg zu gehen, solltest du außerdem die Bildkollisionsbefehle nicht für eine Mausabfrage "missbrauchen", diese Erkennung kann man mit ein bisschen Mathematik deutlich schneller erreichen. |
||
Projekte:
Ping Pong 2D Version 2.1 Weitere Infos: axesite.de |
darki |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das erste bild löscht er immer noch nciht
EDIT: Sry das ich dränge aber ich bekomme das problem einfach nicht gelöst. Hier noch mal ein anderer code: Code: [AUSKLAPPEN] Graphics 640,480,0,1 SetBuffer BackBuffer() SeedRnd MilliSecs() HidePointer Global geld#=1000 Global spielsb=LoadImage("spielstarten.bmp") Global option=LoadImage("option.bmp") Global maus=LoadImage("maus.bmp") Global ende=LoadImage("ende.bmp") Global hintergrund=LoadImage("hintergrund.bmp") MidHandle spielsb MidHandle option MidHandle ende Repeat ClsColor 0,132,193 Cls DrawImage ende,325,200 DrawImage spielsb,325,107 DrawImage option,325,300 MaskImage maus,255,0,255 DrawImage maus,mx-20,my-90 Text 50,0,"X:"+mx Text 100,0,"Y"+my borse=0 endee=0 mx=MouseX() my=MouseY() If ImagesCollide(maus,mx-20,my-90,0,ende,325,200,0) And MouseHit(1) endee=endee+1 EndIf If ImagesCollide(maus,mx-20,my-90,0,spielsb,325,207,0) And MouseHit(1) borse=borse+1 EndIf If endee=1 Then End If borse=1 Then boerse() Flip Until KeyHit(1) Function boerse() DrawImage hintergrund ,0,0 End Function boerse() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group