Hi all.
Habe eine Frage, wie programmiere ich mir mit AutoIt ein kleines Spiel ?
So etwas mit einem Ball vllt. oder was muss ich alles machen um soetwas hinzubekommen ?
Spiel erstellen, aber wie ???
-
- [ offen ]
-
PrideRage -
1. Oktober 2009 um 20:30 -
Geschlossen -
Erledigt
-
-
Den Ball kannst du einfach als ein Bild macen dass du immer weider bewegst, also das is einfach.
Die meiste Arbeit is die Berechnugn der flugbahn und von Kollisionen und sowas. Das is aber mehr ein Mathematisches Problem. Dann einfach ne schleife machen in der immer weider der nächste "Frame" berechnet wird, udn der bal dann entsprechend bewegt.
Das wars eigeintlich dann auch schon.
mfg
-
Danke für die schnelle antwork, aber wie kann ich so`n Bild bewegen, und wie mache ich das mit der Schleife für die Frames ?
-
schau dir mal GUIctrlcreatepic und guictrlsetpos an. Damit müsste das gehen.
Die schleife is ganz einfach eine endlosschleife die dir dei Position des Balles berehnt, also eig immer nur mit der Flugrichtung (Winkel) und nem Zitwert sowie der geschwindigkeit die derzeitigt position berechnet. Wenn es Kollisionen gibt muss halt mit Eintrittswinkel gleich Austrittswinkel (hoffe das heist so) die neue richtung bestimmt werden. wenn du den BAll steueren willst muss die Schelifen natürlich deine Eingaben berücksichtigen.
Wenn du dann noch effektiv mehr als 24 mal Pro sekunde diese Aktualisierung schaffst sieht es wie eine flüssige Bewegung aus
mfg
-
Ich hatte schonmal sowas ;). Vill. hilft dir das weiter.
https://autoit.de/index.php?page=Thread&threadID=14615LG
-
Vieleicht hilft es dir ja. Habe mal ein Click Spiel gemacht.
Paar Minuten Arbeit :)
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>$Form1 = GUICreate("Form1", 50, 50, 192, 124,$WS_POPUP)
[/autoit] [autoit][/autoit] [autoit]
GUISetBkColor (0xff0000)
$Pic1 = GUICtrlCreatePic("", 0, 0, 305, 249)
GUISetState(@SW_SHOW)While 1
[/autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Pic1
$r1 = Random (0,@DesktopWidth,1)
$r2 = Random (0,@DesktopHeight,1)
$r3 = Random (0,Dec (0xFFFFFF),1)
WinMove ("Form1","",$r1,$r2)
GUISetBkColor ($r3)
EndSwitch
WEnd -
Danke für eure antworten, werde mir mal daraus was basteln.