meshs zu einen drehen lassen

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

tedy

Betreff: meshs zu einen drehen lassen

BeitragFr, Dez 29, 2006 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo erstmal
ich bin gerade dabei einen egoshooter zu programieren(nein bin nicht neu ,musste mich nur neu anmelden da ich meine daten vergessen hatte) Razz

jetzt habe ich gegner positioniert und ich will jetz das die alle zu mir guken

thx im voraus

the FR3AK

BeitragFr, Dez 29, 2006 21:05
Antworten mit Zitat
Benutzer-Profile anzeigen
so:

TurnEntity Gegner,0,DeltaYaw(Gegner,Kamera),0

Ich würde dann noch ein "Sichtfeld" machn!
hier mal n bsp:

Code: [AUSKLAPPEN]

if Entitydistance(gegner,kamera)<1000 then
TurnEntity Gegner,0,DeltaYaw(Gegner,Kamera),0
moveentity gegner,0,0,1
end if


oder so ählich^^

tedy

BeitragFr, Dez 29, 2006 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
hab jetzt irgentwie mit gebaut
also ich habe die gegner in types untergebracht:

Code: [AUSKLAPPEN]
Type enemy
Field x
Field y
Field z
Field live
Field mesh
End Type

;gegner laden
Global ene=LoadMesh("strich.x")
ScaleMesh ene,0.018,0.018,0.018


und so werden sie erstellt
Code: [AUSKLAPPEN]

For a=0 To 41
enx=Rand(1,127*5)
enz=Rand(1,127*5)
eny=TerrainY(ter,enx,0,enz)
Createenemy(enx,eny,enz,1,1)

Next

Function Createenemy(x,y,z,mesh,live)
en.enemy=New enemy
en\x=x
en\y=y
en\z=z
en\live=live
If mesh =1
en\mesh=CopyMesh(ene)

PositionEntity(en\mesh,en\x,en\y,en\z)
EntityPickMode en\mesh,2
EndIf
End Function



jetzt will ich sie zu mir drehen
Code: [AUSKLAPPEN]
For en.enemy=Each enemy

If EntityDistance(en\mesh,cam)<1000 Then <-hier ist der fehler
TurnEntity en\mesh,0,DeltaYaw(en\mesh,cam),0
End If


Next


und dann mein er:
Code: [AUSKLAPPEN]
entity does not exist


aber woher hats geklappt

edit:\\hat sich erledigt hatte meinem ersten gegner kein mesh zugeteilt

the FR3AK

BeitragFr, Dez 29, 2006 21:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Mach die Gegner doch so:

Code: [AUSKLAPPEN]

dim gegner(51)

gegner(0)=createcube()

for i=1 to 50
gegner(i)=copyentity(gegner(0))
positionentity gegner(i),rnd(1,500),rnd(1,500),rnd(1,500)
next

;hauptschleife


for i=1 to 50
If EntityDistance(gegner(i),cam)<1000 Then
TurnEntity gegner(i),0,DeltaYaw(gegner(i),cam),0
End If
next

Black Spider

BeitragSa, Dez 30, 2006 15:36
Antworten mit Zitat
Benutzer-Profile anzeigen
vielleicht liegts daran dass du die Kamera nicht global gesetzt hast,
denn du greiffst in eine Funktion drauf zu und wenn sie dann local wäre, dann weiss die Function nicht worauf sie zugreiffen soll...
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group