Mesh bewegen
Übersicht

smeagle24Betreff: Mesh bewegen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe folgendes Problem. Der Mesh soll wenn er den Player sieht und sobald eine gewisse Distanze zwischen beiden Objekten unterschritten wird, sich auf den Player zubewegen.
So habe ich das ganze mal probiert: Code: [AUSKLAPPEN] visible = EntityVisible(pistole,gegner)
entfernung = EntityDistance(pistole,gegner) If visible = 1 And entfernung <=50 MoveEntity gegner,EntityX(pistole),0,EntityZ(pistole) EndIf Nun habe ich folgendes kleines Problem. Sobald der Player sich den Mesh nähert entfernt sich dieser mit ruckartigen Bewegungen. Wie mach ich das nun aber so, das sich der Mesh in einer flissenden Bewegung dem Player nähert? |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] MoveEntity gegner, EntityX(pistole),0,EntityZ(pistole)
Was soll denn das darstellen oO ? Damit findest du die X/Z Koordinatevon dem player heraus und erhöhst die X/Z Koordinaten des gegners genau um diesen wert, also wenn du in der reichwiete bist, ist es klar das er sich ruckartig von dir entfert... Dreh erstmal mit AlignToVector ![]() ![]() ![]() Wenn du den Ggener aber nur auf der Y (yaw)-Achse zu dir drehen lassen willst, und mit AlignToVector nicht klar kommst, mach es so : Code: [AUSKLAPPEN] TmpRotPiv = CreatePivot(gegner)
;In der schleife If reichweite# <= 50 And entityVisible() = 1 PointEntity TmpRotPiv,Pistole RotateEntity gegner,0,EntityYaw(TmpRotPiv,1),0 Endif oder noch einfacher : Code: [AUSKLAPPEN] If bla und so weiter = 1
RotateEntity Gegner,0,DeltaYaw(Gegner,Pistole),0 EndIf (Beide codes nicht getestet, sollten aber funtzen ![]() mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
AlignToVector![]() Beispiel: Code: [AUSKLAPPEN] Graphics3D 800,600,32,2
SetBuffer BackBuffer() Cam = CreateCamera() PositionEntity Cam, 0, -35, 0 TurnEntity Cam, -90, 0, 0 Light=CreateLight(1, Cam) Mesh1 = CreateCube() PositionEntity Mesh1, -30, 0, 0 Mesh2 = CreateCube() PositionEntity Mesh2, 30, 0, 0 TurnEntity Mesh2, 90, 0, 0 While Not KeyHit(1) Cls TranslateEntity Mesh1, KeyDown(32)-KeyDown(30), 0, KeyDown(31)-KeyDown(17) RenderWorld Dist# = EntityDistance(Mesh1, Mesh2) Vis = EntityVisible(Mesh2, Mesh1) If Dist# < 50 And Vis = 1 AlignToVector Mesh2, EntityX(Mesh2)-EntityX(Mesh1), 0, EntityZ(Mesh2)-EntityZ(Mesh1), 1, .1 RotateEntity Mesh2, 0, EntityYaw(Mesh2), 0 MoveEntity Mesh2, -.1, 0, 0 EndIf Text 0, 0, Dist# Text 0, 15, DeltaYaw(Mesh2, Mesh1) + " " + DeltaPitch(Mesh2, Mesh1) Flip Wend [edit]da war mal wieder jemand schneller |
||
Warbseite |
Kruemelator |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Oder mit:
Code: [AUSKLAPPEN] If visible = 1 And entfernung <=50
PointEntity gegner,pistole MoveEntity gegner,0,0,Bewegungstempo# EndIf Gruß Kruemelator Edit: Ach Mist! Das passiert wenn man zulange im der eigenen Codesammlung sucht! ![]() |
||
smeagle24 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dnake für die schnelle Hilfe.
Das mit PointEntity denn Mesh ausrichten und in dann ganz einfach mit MoveEntity bewegen funktioniert einwandfrei. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group