KeyDown - Pfeiltasten - Mehrere Tasten gleichzeitig
Übersicht

alliswrongBetreff: KeyDown - Pfeiltasten - Mehrere Tasten gleichzeitig |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo, habe ein Problem mit Keydown. Hier der Code:
Code: [AUSKLAPPEN] If KeyDown(KEY_UP) Then p1\z = p1\z + 1 Else If KeyDown(KEY_DOWN) Then p1\z = p1\z - 1 Else If KeyDown(KEY_LEFT) Then p1\x = p1\x - 1 Else If KeyDown(KEY_RIGHT) Then p1\x = p1\x + 1 End If Das ganze soll als bewegung dienen. Wenn ich nun aber zwei Tasten gleichzeitig drücke (beispielsweise hoch und rechts) soll die "figur" sich seitlich-vorwärts bewegen. stattdessen bewegt sie sich nur vorwärts. wie kann ich bezwecken, dass die figur sich verhält wie gewollt? gibs da nen trick bei b3d? selbst wenn ich ne abfrage einbaue wie: if keydown(KEY_UP) and keydown(KEY_RIGHT) then p1\x = p1\x + 1 p1\z = p1\z + 1 end if klappts nicht. scheinbar kann b3d nur einzelne die tasten abfragen. das wäre sehr schade ![]() vielen dank euch allen |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Einfach so:
Zitat: If KeyDown(KEY_UP) Then p1\z = p1\z + 1
If KeyDown(KEY_DOWN) Then p1\z = p1\z - 1 If KeyDown(KEY_LEFT) Then p1\x = p1\x - 1 If KeyDown(KEY_RIGHT) Then p1\x = p1\x + 1 Aber überlegen, warum das so ist, darfst du selber ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
- Zuletzt bearbeitet von Tankbuster am Mi, Jul 08, 2009 13:22, insgesamt einmal bearbeitet
alliswrong |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ah ja hast recht!
der bricht die bedingung ja nach jeder abfrage ab. man habe scheuklappen auf den augen. so ein blöder fehler. danke dir |
||
alliswrong |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das klappt soweit super. doch nun möchte ich nen schritt weiter gehen. undzwar kann ich nun den würfel mithilfe von den pfeiltastet bewegen und die kamera bleibt immer hinter dem würfel. das ist soweit korrekt. wenn ich nun aber die maus z.b. an den linken bildschirmrand bewege, möchte ich, dass sich der wüfel in diese richtung dreht und die kamera dabei immer hinter dem würfel bleibt. die würfeldrehung habe ich bereits:
Code: [AUSKLAPPEN] If MouseX() < 100 Then p1\yaw = p1\yaw + 1 Else If MouseX() > 700 Then p1\yaw = p1\yaw - 1 End If RotateEntity p1\model, p1\pitch, p1\yaw , p1\roll RotateEntity p1\camera, p1\pitch, p1\yaw , p1\roll habe die camera auch mit pointentity auf den würfel gesetzt. beim erreichen des bildschirmrands dreht sich der würfel auch wie erhofft, allerdings folgt die kamera nicht. wenn ich die kamera "mit" drehe per rotateentity, so dreht die sich aber nicht um den würfel, sondern um sich selbst. obwohl sie gepointed ist. was mache ich falsch? |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ehm, da könnte dir EntityParent![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
alliswrong |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hey das klappt ja super! jetzt muss ich nur noch rausfinden wie ich das mit den pfeiltasten mache, dass diese dann auch "richtig" bewegen. wenn ich mich jetzt nämlich mit der maus nach links drehe und dann auf "vorwärts" drücke, geht der in ne andere richtung. da muss ich irgendwie die camerarichtung mit einbauen. | ||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein. Dafür gibt es den Befehl MoveEntity![]() ![]() Ich denke, du bist grad aus 2D zu 3D gekommen. Bei 3D musst du nicht zwingend immer mit PositionEntity dein Objekt positionieren, wie in 2D, sondern kannst es auf einfach nach Vorne, hinten, ect bewegen lassen. Die Position bekommst du dann wieder Mit EntityX ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
alliswrong |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das ist ja einfach. hätt ich das gewusst wäre ich schon früher zu 3d gewechselt. das ist ja sowas von geil.
hast mir wirklich sehr weiter geholfen! eine frage hätte ich aber noch. gibt es vielleicht irgendwo kostenlose 3d objekte die ich benutzen könnte? erstmal nur zu testzwecken. bräuchte z.B. ein raumschiff mit und ohne animationen etc. |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Auf www.turbosquid.com gibt es viele Modelle. | ||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
-C:\Programme\Blitz3D\Media\geometricks_models
-https://www.blitzforum.de/scene/links/3d-grafik/ mfg ![]() |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
alliswrong |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
super danke sehr! echt brauchbares zeug dabei.
allerdings bin ich wieder nen schritt weiter ![]() ich bin grad am überlegen wie ich die maps am besten erstelle. soweit ich das mitbekommen habe gibt es mehrere möglichkeiten: 1) höhen terrains 2) bsp maps 3) alles in b3d selbst zeichnen (sehr aufwändig) ich möchte eigentlich erstmal versuchen ein "begehbares haus" zu basteln. höhen terrains ungeeignet, nur als "boden". bsp maps wären ne gute sache, doch wie sieht es da mit bewegten "türen" in nem haus aus? alles alleine in b3d zu rendern ist sehr aufwändig also fällt schonmal weg. wie macht ihr sowas? [edit] da habe ich direkt noch ne frage: wie kriegt man so schöne explosionen und "schüsse" hin wie auf diesem screenshot: https://www.blitzforum.de/gallery/1198/ werden die in nem 3d programm gerendert oder in b3d direkt erstellt? will wissen wie =) |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zu den Effekten
Schau dir mal Particle Candy Wenns nicht kosten soll must so was selber bauen (Mit Types und Surfaces) |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
alliswrong |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
so nun habe ich nen richtig blödes problem.
habe mir nen raumschiff als 3d modell runtergeladen. allerdings ist dies viel zu groß. ich würde gerne das raumschiff per scaleentity verkleinern. habe einen planeten erstellt mit der größe 2. will das raumschiff also viel kleiner haben. doch woher weiß ich wie groß das raumschiff wirklich ist? wenn ich nun im 3d programm nen mini raumschiff mache, und dies verkleiner ist es zu klein. mach ich ein zu großes und verkleiner es, ist es ok. muss also der 3d designer immer wissen wie groß er die models machen muss? ist doch nen bissl doof oder? [edit] oder noch besser gesagt: wenn nen modeler das raumschiff zur kamera hin baut muss ich es drehen. wenn er es andersrum baut dann nicht. woher soll man denn sowas rausbekommen wierum er das nun gebaut hat ohne sich vorher abzusprechen? |
||
TerrorMachine |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du kannst den Drehwinkel der Kamera und des Objekts mit EntityPitch = x-Winkel, EntityYaw = y-Winkel und EntityRoll = z-Winkel. Dann nur rechnen und drehen. | ||
alliswrong |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das ist mir schon bewusst, dennoch bleibt das problem der größenzuordnung. wenn ein modeler einen planeten der größe 100 baut und ein raumschiff mit der größe 200 wie kann ich das im code erkennen? immerhin muss ich das schiff verkleinern oder den planeten vergrößern damit das ganze auch entsprechend ausseht. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group