maus und bewegung mit sprite
Übersicht

totonak5Betreff: maus und bewegung mit sprite |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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! |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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... ![]() verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/ |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oja, Ebola33.. Deine Lösung ist auch nicht schlecht. Dann hat er jetzt wenigstens die Quall der Wahl... ![]() |
||
totonak5 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
hectic hat Folgendes geschrieben: Oja, Ebola33.. Deine Lösung ist auch nicht schlecht. Dann hat er jetzt wenigstens die Quall der Wahl...
![]() Ist auch nicht schlecht ? Ist doch genau das selbe ![]() |
||
ansteckend... ![]() verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/ |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Ist auch nicht schlecht ? Ist doch genau das selbe
![]() 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... |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group