Seite 1 von 2
Wert einer Variablen einer Strucktur im SpriteOutput?
Verfasst: 04.06.2006 09:44
von Ghost
HI
Hab mal wieder eine Frage.
Wie kann man den
Aktuellen Wert einer Varaiblen einer Strucktur ermitteln um ihn in einen spriteoutput zu dem Sprite dieser Strucktur anzeigenlassen?
also soweit kam ich schon
Code: Alles auswählen
ResetList(Jaeger())
While NextElement(Jaeger())
StartDrawing(SpriteOutput(2))
DrawingMode(1)
Locate(0,10)
FrontColor(255,0,0)
Box(0,13,Jaeger()\Armor, 2)
StopDrawing ()
Wend
Das Problem ist jetzt das er mir den Ausgangswert anzeigt statt den aktuellen Wert.
Re: aktuellen Wert einer Strucktur ermitteln?
Verfasst: 04.06.2006 09:53
von sen-me
Ghost hat geschrieben:Code: Alles auswählen
While NextElement(Jaeger())
StartDrawing(SpriteOutput(2))
DrawingMode(1)
Locate(0,10)
FrontColor(255,0,0)
Box(0,13,Jaeger()\Armor, 2)
StopDrawing ()
Wend
Ich würds mal so Probieren:
Code: Alles auswählen
ResetList(Jaeger())
ForEach Jaeger()
StartDrawing(SpriteOutput(2))
DrawingMode(1)
Locate(0,10)
FrontColor(255,0,0)
Box(0,13,Jaeger()\Armor, 2)
StopDrawing()
Next
Verfasst: 04.06.2006 10:01
von Ghost
Ops hab vergessen reset List mit abzukopieren.
ForEach nimt er leider nicht an liegt daran das ich noch V.3.3 nutze.
Verfasst: 04.06.2006 10:14
von Christi
Wenn man ForEach verwendet benötigt man kein ResetList().
Verfasst: 04.06.2006 13:32
von Andre
Für PB 3.30 sollte es so funktionieren:
Code: Alles auswählen
StartDrawing(SpriteOutput(2))
DrawingMode(1)
ResetList(Jaeger())
While NextElement(Jaeger())
Locate(0,10)
FrontColor(255,0,0)
Box(0,13,Jaeger()\Armor, 2)
Wend
StopDrawing()
Habe dabei auch den ständigen Aufruf von Start/StopDrawing() aus der Schleife genommen.

Verfasst: 04.06.2006 19:09
von Ghost
hab mal die Zeile
in
und dann halt wie du (Andre) es gesagt hast.
also anspringen tut er schonmal aber hab noch 2 Probleme.
1. Die spriteoutputs weredn nicht gelöscht (also aus ein Punkt der sich langsam nach lingsbewegen soll wird ein Balken)
und 2. Also ich habe das Sprite mehrmals auf den Bildschirm und anstatt den Punkt nur auf dem betroffenen Sprite zu verschieben macht er dies auf alle Sprits der selben Strucktur.
Verfasst: 04.06.2006 19:13
von sen-me
Das war mir schon klar, hett ich dir auch gleich sagen könn...
Du musst dazwischen ClearScreen und FlipBuffers verwenden
Verfasst: 05.06.2006 10:50
von Ghost
Reicht nicht einmal von repeet bis until ?
also falls ich
ClearScreen()
Start Drawing..
Flippbuffers mache
mache, dann läuft das Programm mit halber Geschwindigkeit[/code]
Verfasst: 05.06.2006 11:04
von sen-me
Weil StartDrawing sehr viel Ressourcen frisst..
Kannst du nicht ein Sprite am anfang erstellen wo du 1 mal was drauf zeichnest und dies dann immer verschiebst (Das Sprite)
Verfasst: 05.06.2006 11:19
von Ghost
Wird Schlecht gehen.Ich sitze anb einen kleinen Spaceshooter und der ScrenOutput soll den Aktuellen zustand(Also zb. Lebenspunkte)des Gegners angegben.
Gut ich könte eine Skala mit auf den Sprite malen und dann ein neues Sprite zB. eine einfachér Punkt oder eine Einfache Linie die sich auf der Skala bewegt
aber das wäre Ziemlich umständlich und Kompliziert