Mit Mouse Klicks steuern ????????
Übersicht

blackdogBetreff: Mit Mouse Klicks steuern ???????? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo
Ich bin ein Neuling bei Blitz3d und diesem Forum. Ich möchte einen Panzer (ein Mesh halt) in einer 3d Welt mit rechter Mousetaste steuern, wen ich also irgend wo hin klicke dann soll der Panzer sich nach dort hin drehen und bis zur angeklickter stelle Fahren ! Habe manches probiert, kann es aber nicht schaffen… Ist es so kompliziert oder bin ich zu Doof Gibt es irgend wo ein tutorial für so etwas , oder hat jemand eine Anregung wie ich es machen kann?? Für ale Hilfe, Danke im voraus |
||
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Anregen kann ich
es gibt 2 Stufen dieser Bewegung 1. Drehen 2. Fahren zu 1. Du setzt einen Punkt auf die Landschafft dort wo deine Maushinzeigt. Themen dazu: Pick in allen formen und Varianten & createpivot & positionentity. Dann misst du das Delta zwischen den winkeln von Pannzer und den Mauspunkt mit Deltayaw und/oder deltapitch dann drehst du denn panzer bis das delta 0 ist. zu 2. einfach nach vorne bewegen hier wird moveentity und distance benutzt |
||
between angels and insects |
blackdog |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wooof
Hallo Jan_ deine Anregungen waren sehr gut , ich habe viele fortschritte gemacht nur habe ich da ein paar Problemchen. nach dem ich die Drehung mit deltayaw usw programmiere macht der Panzer bei jedem durchlauf einen ruckel aber nicht die komplette Umdrehung . Ich verwende MouseHit(2) dan drehen. Wen ich MouseDown nehme dann muss ich die mousetaste so lange gedruckt halten, bis er sich gedreht hat. Bei der drehung benutze ich RotateEntity Panzer,x,y,z wen ich TurnEntity nehme dan dreht sich der panzer die ganze zeit ....... Gib bitte noch einen Tipp . |
||
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zu 1.: Nimm eine Variable, die beim MouseHit auf 1 gesetzt wird und wenn er fertig ist mit drehen wieder auf 0. Ob er fertig ist, sollte man am besten mit "If Abs(delta)<=drehgeschwindigkeit" prüfen. "If delta=0", wie Jan sagte, könnte Probleme machen (zitternder Panzer) ^^
Zu 2.: Gibt es dabei ein Problem? Der Unterschied zwischen Turn und Rotate ist einfach, dass Turn UM einen bestimmten Winkel dreht und Rotate AUF einen bestimmten Winkel (d.h. bei Rotate isses egal, wie das Objekt vorher gedreht war). Alles was einer der Befehle macht, ließe sich auch mit dem anderen machen. Nimm einfach immer den, der gerade besser passt ^^ |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
blackdog |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo FireballFlame
deinem 2 teil habe ich verstanden... Beim 1 aber komme ich nicht ganz mit ![]() kannst du es mit einem simplem Beispiel erklären? und diese variable ???? ist mir auch ein Rätsel die ich auf 1 setzen soll !! was für manche gleich einleuchtend ist, ist für mich etwas schwerer da ich Anfänger bin . |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sowas in der art ist wohl damit gemeint:
Code: [AUSKLAPPEN] Graphics 400,60,0,2
SetBuffer BackBuffer() ist_wert=0 soll_wert=0 While Not KeyHit(1) If MouseHit(1) soll_wert=MouseX() End If If ist_wert<>soll_wert ist_wert=ist_wert+Sgn(soll_wert-ist_wert) End If Rect ist_wert,0,1,60,1 Text 20,20,"Klicke mit der Maus auf das Feld" Flip Cls Wend End |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group