auswahlrechteck
Übersicht

KhayetBetreff: auswahlrechteck |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi, ich brauch nochma eure Hilfe...
Also, ich will sone Art auswahlrechteck haben, wie man sie bei nahezu jedem echtzeit-strategie spiel hat (heißt nich, das ich age of empires4 proggen will ![]() Code: [AUSKLAPPEN] If MouseDown(1) Then
x = MouseX() y = MouseY() EndIf so fängts sicherlich an^^ Aber wie gehts weiter? mfg Khayet |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: heißt nich, das ich age of empires4 proggen will
Naja, ein Auswahlrechteck ist doch sozusagen das zentrale Spielelement von AoE. ![]() Du musst es in etwa so machen: 1. MouseHit überprüfen und die Koordinaten der Maus beim Klick in zwei Variablen speichern. Von da an wird das Rechteck gezeichnet. 2. Dann hast du 2 Koordinaten und das Rechteck ist eindeutig. |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich habe hier mal ein Ansatz für dich.
Es ist noch nicht genauso wie du es gerne haben möchtest, sondern: 1mal klick=start possition nächsterklick=end possition. Das is jetzt echt nix besonderes, sondern das soll einfach mal ne grundlage sein oderso, kp^^ Code: [AUSKLAPPEN] Graphics 640,480,32,2 SetBuffer BackBuffer() Type koords Field x1,y1,x2,y2 End Type Repeat Text 20,20, start If MouseDown(1) Then start=start+1 gesamt=gesamt+1 If Not MouseDown(1) Then start=0 If start=1 Then k.koords=New koords k\x1=MouseX() k\y1=MouseY() EndIf If start=0 And gesamt>1 Then k.koords=Last koords k\x2=MouseX() k\y2=MouseY() EndIf For k.koords=Each koords Rect k\x1,k\y1,k\x2-k\x1,k\y2-k\y1 Next Flip Cls Until KeyHit(1) |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
Lobby |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was, ne Grundlage, und das mit Types(umständlicherweise)? ![]() Wie wärs damit?: Code: [AUSKLAPPEN] Graphics 400,300,16,2
SetBuffer BackBuffer() While not KeyHit(1) cls If MouseHit(1) Then amx=MouseX() amy=MouseY() EndIf If MouseDown(1) Then mx=MouseX() my=MouseY() Line amx-1,amy-1,mx-1,amy-1 Line amx-1,amy-1,amx-1,my-1 Line mx-1,my-1,mx-1,amy-1 Line mx-1,my-1,amx-1,my-1 EndIf Flip Wend Ich habe Line statt Rect benutzt, da Rect nur geht, wenn die 2.en Kordinaten größer als die Ersten sind ![]() |
||
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics 640,480
SetBuffer BackBuffer() Repeat mx=MouseX() my=MouseY() If MouseDown(1) Then If auswahl=0 Then auswahl = 1 sx=mx sy=my EndIf If mx<sx Then If my<sy Then Rect mx,my,sx-mx,sy-my,0 Else Rect mx,sy,sx-mx,my-sy,0 EndIf Else If my<sy Then Rect sx,my,mx-sx,sy-my,0 Else Rect sx,sy,mx-sx,my-sy,0 EndIf EndIf Else auswahl = 0 EndIf Text 0,0,mx+" "+my+" "+sx+" "+sy Flip Cls Until KeyHit(1) Mit rect, da dies wesentlich schneller als line ist, auf Mousehit verzichtet weil dies immer wieder übersehen wird und zu Pufferproblemen führt. Viele Wege führen nach Rom... |
||
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 |
Khayet |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke für die ausführlichen Antworten ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group