gegner plazieren.

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Nobody-86

Betreff: gegner plazieren.

BeitragMi, Mai 25, 2005 13:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich habe bisher follgende codes für meinen ersten gegner "Cell": BlitzBasic: [AUSKLAPPEN]
Type cell
Field entity,rage#,health#,damage#
End Type
und BlitzBasic: [AUSKLAPPEN]
Function cell()
c.cell =New cell
c\entity=LoadMesh(\"level\cell.3ds\")
c\health#=100
ScaleEntity c\entity,50,50,50
PositionEntity c\entity,500,50,500
For c.cell=Each cell
If EntityDistance(player,c\entity)<100 Then
PointEntity c\entity,player
MoveEntity c\entity,0,0,4
EndIf
If c\health#<=0 Then
FreeEntity c\entity
Delete c
EndIf
Next
End Function

nun wird das spiel aber unspielbar, sobalt ich auf den gegner gucke. was ja klar ist, da unentlich viele gegner auf diesem punkt (500,50,500) etrtellt werden, und die object bzw. poly anzahl ins unentliche steigt. wie kan ich es am besten anstellebn das nur 1 gegner jeweils auf zb. punkt (500,50,500), (-600,50,100) und 1000,50,-1000) (als beispiel) ertellt wird.
(: ---> nobody is perfect <--- Smile

Henry

BeitragMi, Mai 25, 2005 14:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Indem Du der Funktion die x und y Koordinate als Parameter übergibst und den Funktionsaufruf z.B. mit einem Random durchführst.
Aiya Eärendil Elenion Ancalima!

All you have to decide is what to do with the time that is given to you.

Robsite.de ist eine Anlaufstelle für Tutorials und Tools, die Noobs das Leben leichter machen!
Forensuche ist nicht nur als Lückenfüller in den oberen Links gedacht!
 

Omenaton_2

BeitragMi, Mai 25, 2005 14:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, Position per Zufall, außerdem:
Innerhalb der Function Cell, wo du durch alle Cells durchgehst, solltest du prüfen, ob an der Stelle wo der jetztige, gerade erstellte Cell gesetzt werden sollte, schon mal eine Cell steht. Wenn ja, dann lösche die Cell sofort (alos des Erstelle wird rückgängig gemacht oder gar nicht erst erstellt) oder verschiebe es an eine Stelle, die noch frei ist.
Das ist nicht der optimalste, aber der schnellste Weg.

Was die Prüfung angeht, du könntest irgendwie mit Collision checken oder die Koordinaten aller exitierenden Cells abfragen und vergleichen oder wenn du weißt, daß du sagen wir 100 Cells erstellen willst, dann einen DIM X,Y mit 100 erschaffen wo immer wenn eine Cell erstellt wird die Koordinaten festgehalten werden. Wenn dann per Zufall die Koordinaten für das neu zuerstellenden Objekt feststehen, in dem DIM prüfen , ob die Koordinate frei ist oder nicht.
 

Nobody-86

BeitragMi, Mai 25, 2005 15:45
Antworten mit Zitat
Benutzer-Profile anzeigen
kan ich den gegnern auch festgelegt positionen zuweisen?
(: ---> nobody is perfect <--- Smile

Henry

BeitragMi, Mai 25, 2005 16:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm, langsam frage ich mich, ob Du uns veräppeln willst.
Ja, wenn Du festgelegte Positionen nutzen willst, dann x und y eben ohne Random vergeben...halt mit Deinen festen Werten. Rolling Eyes
Aiya Eärendil Elenion Ancalima!

All you have to decide is what to do with the time that is given to you.

Robsite.de ist eine Anlaufstelle für Tutorials und Tools, die Noobs das Leben leichter machen!
Forensuche ist nicht nur als Lückenfüller in den oberen Links gedacht!
 

Nobody-86

BeitragMi, Mai 25, 2005 23:15
Antworten mit Zitat
Benutzer-Profile anzeigen
nein, ich wil euch nciht veräppeln, würde mir nie einfalen, aber da stehe ich irgentwie vor ner wand.
also das habe ch ja noch verstanden: BlitzBasic: [AUSKLAPPEN]
Type cell 
Field entity,rage#,health#,damage#,x#,y#,z#
End Type
aber dan?BlitzBasic: [AUSKLAPPEN]
Function cell() 
c.cell =New cell ;das darf doch auch nciht hier stehen oder?
c\entity=LoadMesh(\"level\cell.3ds\")
c\health#=100
;hier nehme ich an müssen die x,y,z werte eingetragen werden, aber wie wen ich mehrere habe?
For c.cell=Each cell
If EntityDistance(player,c\entity)<100 Then
PointEntity c\entity,player
MoveEntity c\entity,0,0,4
EndIf
If c\health#<=0 Then
FreeEntity c\entity
Delete c
EndIf
Next
End Function
es tut mir wirklich leid wegen diesen noopfragen, aber ich schaffe es irgentwie nicht richtig.
(: ---> nobody is perfect <--- Smile

Alfadur

BeitragDo, Mai 26, 2005 3:31
Antworten mit Zitat
Benutzer-Profile anzeigen
*narf*

wie wärs mit

cell(x,y)

und in der funktion

c\x=x
c\y=y

und schliesslich

cell(100,100)
cell(200,200)

erstellt zwei cells bei (100/100) und (200/200)...

*narf*

lass mich raten, du hast den code irgendwo abgeschrieben und hast keinen plan was der code macht oder?
A Cray is the only computer that runs an endless loop in less than four hours.
 

Nobody-86

BeitragDo, Mai 26, 2005 10:09
Antworten mit Zitat
Benutzer-Profile anzeigen
danke, das ist besser verständlich. THX


(....)

nein, ich habe den code nicht abgeschrieben, alles selber geschrieben. und ich weiss was der macht Wink
(: ---> nobody is perfect <--- Smile

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group