Seite 3 von 6
Verfasst: 06.06.2008 19:05
von RSBasic
Verfasst: 06.06.2008 19:40
von Kaisky007
Hab es jetzt so:
Level1 = Weapon1, Normaler Gegner
Level2 = Weapon2, LangsamSchnellGegner
Level3 = Weapon3, LangsamSchnellGegner, LinksRechstsGegner
http://web56.login-1.loginserver.ch/eas ... 2125104111
Danke RSBASIC für die Sounds

Verfasst: 06.06.2008 20:10
von Kaisky007
Verfasst: 06.06.2008 20:16
von Kaeru Gaman
so kann man einfach hintergrundsprites erstellen:
Code: Alles auswählen
InitSprite()
InitKeyboard()
OpenScreen(1024,768,32,"StarDemo")
For n=0 To 8 ; 9 sprites erzeugen
CreateSprite(n, 512, 384 )
StartDrawing(SpriteOutput(n))
Box(0,0,512,384,$201008) ; Hintergrundfarbe nicht ganz schwarz
For t=0 To 499 ; 500 Sterne drauf
Plot( Random(511), Random(383), RGB( Random(155)+100, Random(155)+100, Random(155)+100 ) )
; zufallspositionen, zufallsfarben
Next
StopDrawing()
Next
stellt 9 sprites her, die man als 3x3 matrix bildfüllend durch den 1024x768 screen scrollen kann.
Verfasst: 06.06.2008 20:44
von Kaisky007
@Kaeru, Funzt bei mir irgendwie nicht
Jetzt gibt es ein Level mehr und eine Waffe mehr, und ne Punkte Liste. jeder abgeschossene Gegner bringt 5, jeder durchgekommene - 100
http://web56.login-1.loginserver.ch/eas ... 2125104111
Verfasst: 06.06.2008 20:51
von Kaeru Gaman
> @Kaeru, Funzt bei mir irgendwie nicht
doch, wird nur nicht dargestellt.
das ist nur der code zum erzeugen.
steht aber auch in meinem posting und sieht man auch.
Verfasst: 06.06.2008 21:01
von Kaisky007
ich habe ja auch ein repeat und until gesetzt, aber dann ist nur schwarzer bildschirm
Verfasst: 06.06.2008 21:12
von Kaeru Gaman
ja du musst auch die sprites 0 bis 8 display, in einer 3x3 anordnung.
Verfasst: 06.06.2008 22:04
von Kaisky007
Egal....
Ich habe ein anderes Problem mit der Explosion:
Code: Alles auswählen
ForEach Schuss()
Schuss()\SchussY - 16
Schuss()\SchussX + Schuss()\SchussS
DisplayTransparentSprite(2,Schuss()\SchussX ,Schuss()\SchussY)
ForEach Ufo1()
If Schuss()\SchussY + 16 > Ufo1()\Ufo1Y And Schuss()\SchussY < Ufo1()\Ufo1Y + 16
If Schuss()\SchussX + 8 > Ufo1()\Ufo1X And Schuss()\SchussX < Ufo1()\Ufo1X + 16
DeleteElement(Schuss())
Ufo1()\Ufo1L - 20
If Ufo1()\Ufo1L < 0
AddElement(Explosion())
Explosion()\ExplosionX = Ufo1()\Ufo1X
Explosion()\ExplosionY = Ufo1()\Ufo1Y
Explosion()\ExplosionW = 30
DeleteElement(Ufo1())
Score + 5
PlayMovie(2,0)
Break
EndIf
EndIf
EndIf
Next
Next
ForEach Explosion()
Explosion()\ExplosionW - 1
If Explosion()\ExplosionW < 0
DeleteElement(Explosion())
Break
EndIf
DisplayTransparentSprite(4,Explosion()\ExplosionX,Explosion()\ExplosionY)
Next
Ich hatte schonmal nen tema aufgemacht mit den schießen.
Hier ähnliches problem, aber ich weiß nicht was falsch ist... wahrscheinlich habe ich das immer noch nicht verstanden.
Verfasst: 07.06.2008 03:19
von Kaeru Gaman
ich würde es erst anzeigen und dann runterzählen,
sonst versuchst du ja am ende etwas anzuzeigen, was schon gelöscht ist.
Code: Alles auswählen
ForEach Explosion()
DisplayTransparentSprite(4,Explosion()\ExplosionX,Explosion()\ExplosionY)
Explosion()\ExplosionW - 1
If Explosion()\ExplosionW < 0
DeleteElement(Explosion())
Break
EndIf
Next
außerdem würde ich bei 30 frames anzeigezeit eine animierte explosion anzeigen.
dazu müsstest du nur z.b. die sprites 4-9 für sechs explosionsphasen einrichten,
dann kannst du die spritenummer 4 in deinem beispiel durch 4 + Explosion()\ExplosionW / 6 ersetzen,
da kommt dann für die werte 0-30 eben 4-9 bei raus.