maus und bewegung mit sprite

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

totonak5

Betreff: maus und bewegung mit sprite

BeitragSa, Sep 17, 2005 15:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Code: [AUSKLAPPEN]

Graphics3D 800,600,0,2
SetBuffer BackBuffer()
camera=CreateCamera()
sprite=CreateSprite()

PositionEntity sprite,0,0,65
XS# = 0
YS# = 0
While Not KeyHit(1)

PositionEntity sprite,XS,YS,65
RenderWorld

mxm# = MouseX()
mym# = MouseY()
If mxm# > 15 Then mx# = mxm#
If mym# > 13 And mym# < 585 Then my# = mym#
If mx# <= 15 Then mx# = 15
If mym# <= 13 Then my# = 13
If mym# >= 585 Then my# = 585

HidePointer
Color 0,255,0
Oval mxm,mym,15,15

vmx# = 800 - mx# + NVX#
NVX# = vmx# * 0.9
X# = vmx# * 0.1
VX# = VXS# - X#
xr# = xr# - VX#

vmy# = 600 - my# + NVY#
Y# = vmy# * 0.1
NVY# = vmy# * 0.9
VY# = VYS# - Y#
yr# = yr# - Vy#

XS = XS -VX#*6
YS = YS -VY#*4

VXS# = X#
VYS# = Y#

Color 0,0,255
Rect Xr,Yr,15,15

Flip
Wend
End


wie schaffe ich es, in diesem code, dass sich sprite und blaues quadrat immer gleich bewegen?
ich habe schon so viel herumprobiert aber ich schaffe es einfach nicht!

lg
Just for Fun!
Jesus loves U!

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, Sep 17, 2005 16:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo totonak5, der Trick ist. Du setzt die Kamera um die Hälfte der Bildschirm-X-Auflösung nach hinten. Du zeichnest dann alle 3D-Objekte auf der Z-Ebene gleich 0. Zugleich mußt du mit Origin die Bildschirmmite für 2D auch auf 0 legen. In 3D ist der Y-Anstieg nach oben, bei 2D nach unten. Also mußt du eines davon negieren... Wenn alles gemacht wurde, kann man auf weitere Skallierung verzichten. Alle Objekte bewegen sich gleich schnell auf dem Bildschirm.

Der kleine weiße Punkt ist der Sprite. Wenn du diesen größer haben willst, mußt du ihn per ScaleSprite weiter vergrößern.
Code: [AUSKLAPPEN]
Graphics3D 800,600,0,2
SetBuffer BackBuffer()
Origin 400,300

camera=CreateCamera()
sprite=CreateSprite()
PositionEntity camera,0,0,-400
ScaleSprite sprite,2,2
HidePointer



While Not KeyHit(1)
 mx=MouseX()-400
 my=MouseY()-300

 PositionEntity sprite,mx,-my,0
 RenderWorld

 Rect mx-4,my-4,9,9,0
 Flip
Wend
End


[EDIT] Oder ganz ohne Origin mit X/Y links/oben...
Code: [AUSKLAPPEN]
Graphics3D 800,600,0,2
SetBuffer BackBuffer()

camera=CreateCamera()
sprite=CreateSprite()
PositionEntity camera,400,-300,-400
ScaleSprite sprite,1.5,1.5
HidePointer



While Not KeyHit(1)
 mx=MouseX()
 my=MouseY()

 PositionEntity sprite,mx,-my,0
 RenderWorld

 Rect mx-4,my-4,9,9,0
 Flip
Wend
End

Hoffe das dies deine Frage war...[/code]
  • Zuletzt bearbeitet von hectic am Sa, Sep 17, 2005 16:59, insgesamt einmal bearbeitet

Ebola33

BeitragSa, Sep 17, 2005 16:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Warum eröffnest du 2 Threads zu diesem Thema ?
https://www.blitzforum.de/viewtopic.php?t=13893
Hättest du in deinen alten nochmal reingeschaut hättest du die Lösung gehabt....
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, Sep 17, 2005 16:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Oja, Ebola33.. Deine Lösung ist auch nicht schlecht. Dann hat er jetzt wenigstens die Quall der Wahl... Very Happy
 

totonak5

BeitragSa, Sep 17, 2005 17:12
Antworten mit Zitat
Benutzer-Profile anzeigen
ja, sorry!
dachte mir vl gibts noch andere lösungen die halt dann im 3D-forum geschrieben werden!

Thank you!
Just for Fun!
Jesus loves U!

Ebola33

BeitragSa, Sep 17, 2005 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
hectic hat Folgendes geschrieben:
Oja, Ebola33.. Deine Lösung ist auch nicht schlecht. Dann hat er jetzt wenigstens die Quall der Wahl... Very Happy


Ist auch nicht schlecht ? Ist doch genau das selbe Wink
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Sep 18, 2005 0:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Ist auch nicht schlecht ? Ist doch genau das selbe Wink

Ja jetzt wo du es sagst. Habe dein Code nur kurz überflogen. Ob Camera Z-Pos zurrück oder Sprite Z-Pos vor verschoben, bleibt gleich. Ist ja alles relativ relativ...

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group