Fakemauszeiger unter Draw3D - problem :x [gelöst]
Übersicht

PhillipKBetreff: Fakemauszeiger unter Draw3D - problem :x [gelöst] |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Heya, die nervensäge fragt mal wieder ^^
Es geht um folgendes: Ich möchte einen Mauszeiger in mein spiel einbinden, aber möchte nicht Draw3D dafür ausschalten, also muss ich ein Bild damit beschäftigen und MouseSpeedX() und Y als "bewegung" nehmen. Klingt ja auch logisch^^ Aber irwi hab ich mich festgefressen.. Ich hab mir den Maus-umsehen krams aus dem sample "Cubewater" aus dem BB3d-demopack gepackt und etwas geändert in unser Projekt eingebaut. Nun will ich, wenn ich ALT drücke + halte die maus steuern (altgr das selbe), wenn nicht soll ganz normal gesteuert werden. DAS klappt soweit. Nach der abfrage für MouseSpeedX() und Y übergebe ich die werte an eine weitere funktion. "MausMove(mxspd2#,myspd2#)" -> myspd2# und mxspd2# sind die speed-variablen ^-^ MausMove() -> Code: [AUSKLAPPEN] Function MausMove(Mmove_x#, Mmove_y#)
If Sgn(Mmove_y#)=-1 Then Mmove_y# = Abs(Mmove_y#) ElseIf Sgn(Mmove_y#)=1 Then Mmove_y# = Mmove_y#-(Mmove_y#*2) EndIf Maus_x# = Maus_x# + Mmove_x# Maus_y# = Maus_y# + Mmove_y# If Maus_x# < -512.000 Then Maus_x# = -512.000 Mmove_x# = 0.000 ElseIf Maus_x# > 512.000 Then Maus_x# = 512.000 Mmove_x# = 0.000 EndIf If Maus_y# < -384.000 Then Maus_y# = -384.000 Mmove_y# = 0.000 ElseIf Maus_y# > 384.000 Then Maus_y# = 384.000 Mmove_y# = 0.000 EndIf DrawMauszeiger(Mmove_x#, Mmove_y#) End Function Es fällt auf: ich negiere Mmove_y#. Das liegt am Koordinatensystem von Draw3D. Die BEWEGUNGEN Klappen eigentlich.. Die IF abfragen sind zum checken ob ich "über den bildschirmrand" hinaus bin. Code: [AUSKLAPPEN] Function DrawMauszeiger(M_gewollt_x#, M_gewollt_y#)
DrawImage3D(gui_mauszeiger, Maus_x#+M_gewollt_x#+16, Maus_y#+M_gewollt_y-16) End Function Hier wird gezeichnet. "+16" und "-16" sind nur dabei, weil mein Mauszeigerpic genau 32x32 pixel groß ist. Maus_x# und Maus_y# sind Globale die die Aktuelle mausposition beinhalten. Das problem hierbei dem krams is: Die maus ist EXTREM unruhig.. Vorher hatte ich das Problem, das ich nie ganz bis zum rand kam & co.. dann hab ich alles nochmal nen bisschen umgeschrieben und bin von Totalem koordsystem bei der maussteuerung auf die Draw3D - koordinaten krams umgestiegen^^ Ich mein, ich kann es so lassen, aber ich verstehe nicht ganz, WARUM es unruhig läuft.. Vorallem auf der Y koordinate "zittert" die maus.. Sie scheint immer nochn stückchen wieder "zurück" zu schnellen nach einer bewegung.. Kanns nicht direkt erklären & ein screenshot zeigt das leider nicht.. Also vllt hab ich mich nur irgendwo aufgehangen.. Wenns keinem auffällt, WARUM das so ist, dann hab ich halt pech, dann lasse ich mir was anderes einfallen.. Aber als neuling möchte man lernen & ich bin grade mit meinem Latein am ende ![]() Lg PhillipK |
||
- Zuletzt bearbeitet von PhillipK am So, Feb 08, 2009 15:23, insgesamt einmal bearbeitet
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich verstehe nich warum es nich mouseX() und mousey() tun? | ||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
PhillipK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
eeehm..^^
Mein mauszeiger flitzt immer in die Mitte vom Bildschirm, stammt das nicht aus Draw3D? o.o *mal grade gesamten script überfliegen* AUTSCH Dieser thread ist wohl sinnloser,ungewollter, spam ![]() Ich DACHTE es liegt an Draw3D wegen einer kleinen formulierung in der hilfe. -> DrawInit3D (camera_handle): [...]die Maus in das Bildschirmzentrum bewegt und [...] Dabei prangte fett in dem "geklauten" scriptteil ein "MoveMouse GraphicsWidth()/2,GraphicsHeight()/2" Entschuldigt meine Engstirnigkeit, ich denke ich sollte demnächst öfters mal "genauer" hinschaun und die fehler nichtnur im vorangeschrieben krams suchen, sondern mir einen allgemeinen überblick über meine Funktionen verschaffen.. so oder so, wieder was gelernt.. >.< *immernoch rot weils so peinlich ist* |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nur so angemerkt:
Die Draw3D besitzt auch eigene Mauskoordinaten-Angaben, die über die globalen MouseX3D und MouseY3D abgefragt werden können. Dazu habe ich auch ein Beispielcode ''Test, Globals.bb'' beigelegt. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group