Einheit/Figur auswählen mit der Maus
Übersicht

PizzahutBetreff: Einheit/Figur auswählen mit der Maus |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi Leute!
Ich schreibe gerade an einem "Lemming-Klon" Meine kleinen Wuseltierchen, werden via Types geladen: Code: [AUSKLAPPEN] For sheep.sheep=Each sheep sheep\anim = (sheep\anim +1) Mod 3 If MilliSecs()>sheep\time + sheep\v Then sheep\time=MilliSecs() If sheep\richtung=1 Then If sheep\fall=0 Then sheep\x =sheep\x-1 End If DrawImage sheeps_links, sheep\x,sheep\y, sheep\anim Else If sheep\fall=0 Then sheep\x=sheep\x+1 End If DrawImage sheeps_rechts, sheep\x,sheep\y, sheep\anim End If ;Eigenschaften ;Text 20,20, "Y:" + sheep\y ;Text 20,30, "X:" + sheep\x ;Text 20,40, "F:" + sheep\fall End If ;EndIf Next Der Type sheep hat folgende Eigenschaften: Code: [AUSKLAPPEN] Type sheep ;Type "sheep" Field art ;Welche Art von "Lemming" :D Field x ;x Koordinate Field y ;y Koordinate Field v ;v Geschwindigkeit (Unterschied fallen, Fallschirm etc.) Field richtung ; links=1 oder rechts=2 Field fall ;Fällt das Schäfchen? :D Field anim ;Animationsframe Field time ;Animationszeit End Type Wenn ich jetzt eine Einheit/Lemming via Mausklick auswählen möchte, wie gehe ich da am besten ran? Komme anscheinend einfach nicht drauf! Danke im vorraus! mfg pHut Version: BlitzPlus[/quote] |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also die Abfrage ob die Maus drüber ist, oder wie man ihn markieren könnte?
Arbeitest du mit einem Offset? mfg |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Pizzahut |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also ich denke, es würde reichen, wenn ich weiß, ob die Maus auf einem "Lemming" ist. Wenn ich das in eine Mousedown-Bedingung reintue, müsste es meinem Ziel, einen Lemming auszuwählen eigentlich näher kommen.
Offsets habe ich, ja --> bei der Abfrage von Kollisionen der Lemminge mit der Umgebung. Pixel +2 etc. Hoffe man kann mir helfen! mfg phut |
||
![]() |
ComNik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also wenn ich richtig verstehe was du meinst dann könnte es so aussehen:
Code: [AUSKLAPPEN] If MouseHit(1) Then ;also wenn die linke Maustaste gedrückt wird For sheep.sheep = Each sheep ; Schleife durch alle Sheeps If MouseX() >= sheep\x + <offset> and MouseY >= sheep\y + <offset> and MouseX() <= sheep\x + <breite deines Schaafes\Lemminges> and MouseY() <= sheep\y + <höhe deines Schaafes> Then ;WAS PASSIEREN SOLL WENN DER LEMMING AUSGEWÄHLT IST Next End If |
||
WIP: Vorx.Engine |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und wenn Du noch andere Mousehits abfragen willst tu dir einen gefallen und mach das Ergebnis von Mousehit zu Beginn deiner Mainloop in eine Variable, sonst wunderst Du dich später über ein sehr seltsames Verhalten deines Spieles ![]() |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Pizzahut |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hey Danke!
Comniks Code hat prima funktioniert! und bladerunner was ist eigentlich der unterschie zwischen mousehit/mousedown außer der returnwert? Und ja, steht ja in der faq imho ![]() Danke un chiquen Abend! |
||
![]() |
AnniXa |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mousehit gibt die menge an klicks seit dem letzten mousehit aus,
und mousedown prüft ob gerade die taste gedrückt wird. soweit ich weis ist es am besten wenn man so verfährt: Code: [AUSKLAPPEN] LMB = MouseHit(1) RMB = MouseHit(2) MMB = MouseHit(3) und dann immer mit if lmb then ... prüft. |
||
|moonForge|
Ich bin Pokémon Meisterin seit 1998! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group