[b3d] rotatemesh bei mehreren entities

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Raoudi

Betreff: [b3d] rotatemesh bei mehreren entities

BeitragMi, März 30, 2005 16:09
Antworten mit Zitat
Benutzer-Profile anzeigen
jedes mal wenn ein neues ufo dazukommt dreht sichs doppelt so schnell, soll aber immer mit 5 rotieren

(meshrot = 5)

BlitzBasic: [AUSKLAPPEN]
For u.ufo = Each ufo
RotateMesh u\mesh,0,0,u\meshrot
MoveEntity u\mesh,u\xdir,u\ydir,0

If EntityCollided(u\mesh,bullet_col)
u\health = u\health-bdmg
EndIf


If u\health <= 0 Or EntityY(u\mesh) < -13
FreeEntity u\mesh
Delete u
EndIf
Next
 

Raoudi

BeitragDo, März 31, 2005 11:53
Antworten mit Zitat
Benutzer-Profile anzeigen
: /
 

Darren

BeitragDo, März 31, 2005 12:09
Antworten mit Zitat
Benutzer-Profile anzeigen
sicher, dass meshrot 5 ist wenn nicht halte das programm im debugmodus an einer stelle an unnd schau dann wie groß meshrot wirklich ist.
MFG Darren
 

Raoudi

BeitragDo, März 31, 2005 13:06
Antworten mit Zitat
Benutzer-Profile anzeigen
DarrenSharm hat Folgendes geschrieben:
sicher, dass meshrot 5 ist wenn nicht halte das programm im debugmodus an einer stelle an unnd schau dann wie groß meshrot wirklich ist.


BlitzBasic: [AUSKLAPPEN]
;ufo creating
tempufo = Rand(1,100)
If tempufo = 1
u.ufo = New ufo
u\mesh = CopyEntity(mesh_ufo)
u\ydir = 0.1
u\health = 100
u\meshrot = 5
u\speed = 0.05
EntityType u\mesh,ufo_col
PositionEntity u\mesh,Rand(-15,15),13,0
EndIf


edit: wie mach ich das mit'm debug?
 

Darren

BeitragDo, März 31, 2005 13:34
Antworten mit Zitat
Benutzer-Profile anzeigen
du lässt dein programm im debugmodus laufen und schreibst dann in deinem code "stop" an der stelle an der du anhakten möchtest. dann wird dein programm minimiert und angelahten und du kannst an der seite alle varialben und typezeiger und container anschauen
MFG Darren
 

Raoudi

BeitragDo, März 31, 2005 13:41
Antworten mit Zitat
Benutzer-Profile anzeigen
DarrenSharm hat Folgendes geschrieben:
du lässt dein programm im debugmodus laufen und schreibst dann in deinem code "stop" an der stelle an der du anhakten möchtest. dann wird dein programm minimiert und angelahten und du kannst an der seite alle varialben und typezeiger und container anschauen

dann steht da

...
u.ufo = (Null)
..

meshrot steht gar nich drin
 

Darren

BeitragDo, März 31, 2005 13:57
Antworten mit Zitat
Benutzer-Profile anzeigen
naja, weil du noch kein ufo erzeugt hast. der zeiger u ist halt noch nicht verlinkt. du musst eines erzeugen vlt machst du dir eine stoptaste. wenn du meinetwegen enter drückst, dass er dann stopt
MFG Darren
 

Raoudi

BeitragDo, März 31, 2005 14:01
Antworten mit Zitat
Benutzer-Profile anzeigen
DarrenSharm hat Folgendes geschrieben:
naja, weil du noch kein ufo erzeugt hast. der zeiger u ist halt noch nicht verlinkt. du musst eines erzeugen vlt machst du dir eine stoptaste. wenn du meinetwegen enter drückst, dass er dann stopt

hab ich schon, es waren sogar mehrere ufos aufm screen
 

Darren

BeitragDo, März 31, 2005 14:03
Antworten mit Zitat
Benutzer-Profile anzeigen
hast du das da oben in ner funktion?
MFG Darren
 

Raoudi

BeitragDo, März 31, 2005 14:05
Antworten mit Zitat
Benutzer-Profile anzeigen
keins der beiden
 

Gerhard

BeitragDo, März 31, 2005 23:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Schreib doch mal statt u\meshrot bei rotatemesh direkt 5 rein.
Aus dem was wir hier an Code sehen, kann man nichts erkennen.

Oder mach eine extra-Schleife
BlitzBasic: [AUSKLAPPEN]

If KeyHit(2) Then
i=20
For u.Ufo = Each ufo
Text 10,i,u\meshrot
i = i+20
Next
Flip
WaitKey()
EndIf


Du musst einfach mal Verschiedenes testen.
 

Raoudi

BeitragSa, Apr 02, 2005 12:21
Antworten mit Zitat
Benutzer-Profile anzeigen
das mit'm direkt reinschreiben war das erste was ich versucht hatte : /

BlitzBasic: [AUSKLAPPEN]
If KeyDown(17)
For u.ufo = Each ufo
Text 300,10,u\meshrot
Next
EndIf


hab ich mal reingemacht, da stand immer "5.0" egal wieviele ufos aufm screen waren

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group