Gib mal in Zeile 31 für dem Modus entweder 1 oder 2 an. Mit 1 kommt noch eine Labelauswahl (schaun ob die funktioniert!?). Mit 2 funktioniert das Spiel gleich wie bis zu der immer noch aktuellen Version 1.3. Damit weiß ich zwar noch immer nicht wo das Problem bei dir liegt, aber du kannst zumindest spielen. In Vista musst du leider noch händisch den Aero-Style deaktivieren um anständig spielen zu können.
Beiträge von funkey
-
-
tobi_girst: Dein Problem ist mir ein Rätsel! Ändert sich die Farbe und die Größe der Singleplayer- und Multiplayer-Labels wenn man mit der Maus darüber ist oder geht das auch schon nicht?
@MOZ: Deine Vorschläge überlege ich mir.
Zitat von MOZalso nicht nur Maus, denn ich hab auch bisschen gebraucht um das rauszufinden. Oder eben hinschreiben, dass man mit der Maus spielt
Zitat von funkey Post#50Außerdem spielt man im Singleplayer-Modus immer mit der Maus
-
[autoit]
Stringlower
[/autoit] -
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <Sound.au3>Global $open_tray, $About_tray, $Lizenz_tray, $exit_tray, $mguu
[/autoit] [autoit][/autoit] [autoit]Opt("GUICloseOnESC", 1)
[/autoit] [autoit][/autoit] [autoit]
Opt("TrayMenuMode", 1)
Opt("TrayOnEventMode", 1)
Opt("GuiOnEventMode", 1);~ $open_tray = TrayCreateItem("Neu [F3]")
[/autoit] [autoit][/autoit] [autoit]
;~ TrayItemSetOnEvent(-1, "Nload")
;$Alarm_tray = TrayCreateItem ("Alarm")
;TrayItemSetOnEvent (-1, "Alarm")
$About_tray = TrayCreateItem("About [F1]")
TrayItemSetOnEvent(-1, "About")
$Lizenz_tray = TrayCreateItem("Lizenz [F2]")
TrayItemSetOnEvent(-1, "Lizenz")
TrayCreateItem("")
$exit_tray = TrayCreateItem("Exit [Alt+F4]")
TrayItemSetOnEvent(-1, "Set_Exit")TraySetState()
[/autoit] [autoit][/autoit] [autoit]HotKeySet("{F1}", "About")
[/autoit] [autoit][/autoit] [autoit]
HotKeySet("{F2}", "Lizenz")
;~ HotKeySet("{F3}", "Nload")
HotKeySet("!" & "{F4}", "Set_Exit")$mguu = GUICreate("Mal ganz unter uns", 225, 120)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("Hast du eigentlich einen kleinen P****?", 20, 30)
$ja = GUICtrlCreateButton("Ja", 50, 70, 50, 25)
GUICtrlSetCursor(-1, 0)
GUICtrlSetOnEvent(-1, '_ja')
$nein = GUICtrlCreateButton("Nein", 120, 70, 50, 25)
GUICtrlSetOnEvent(-1, '_nein')
GUICtrlSetCursor(-1, 0)GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(10000)
WEndFunc _nein()
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($nein, $GUI_HIDE)
EndFunc ;==>_neinFunc _ja()
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_HIDE)
MsgBox(0, "Info", "Hab ich`s doch gewusst!")
Sleep(500)
GUICtrlSetState($nein, $GUI_SHOW)
GUISetState(@SW_SHOW)
EndFunc ;==>_jaFunc About()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(64, "About", "team2way")
EndFunc ;==>AboutFunc Lizenz()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, "Lizenz", "hier die lizenz")
EndFunc ;==>LizenzFunc Set_Exit()
[/autoit]
GUIDelete($mguu)
MsgBox(0, "Info", "Hab ich`s doch gewusst!")
Exit
EndFunc ;==>Set_Exit -
Keine Transparenz, alles normal. Hast du vllt Vista mit Aero (ich geb jetzt immer dem die Schuld
) ? -
Danke, sorry, war keine Absicht.

-
Du hast recht, diese Funktion gibt alles doppelt zurück. Ich denke, das wurde wegen den internen Funktionen in der File.au3 so gemacht. Du brauchst allerdings dann das Array nicht, sondern kannst danach direkt die Variablen, die du der Funktion übergeben hast verwenden.
-
Zitat von hundi
Jpg's können auch eig nicht transparent sein aber autoit stellt sie so dar..
Stimmt, sorry, aber man weiß ja nie!
Also ich habe mir mit Paint extra ein 1000x1000 großes weißes jpg mit roter Schrift gemacht und in dein Skript eingebaut. Ergebnis: Keine Transparenz weit und breit, also

-
Also bei wird gibt's da keine Tansparenz, bei weißen jpegs. Das liegt an deinem Bild glaube ich. Am besten du speicherst es einmal als bmp ab und dann wieder als jpg. Dann ist die Transparenz sicher weg. (hoffentlich
) -
Stimmt natürlich. Die Funktion für die Gui habe ich mir bei deinem Post abgeguckt und dann hatte ich eine Idee und hab's jetzt weiterentwickelt für Child-Guis. Sieht doch toll aus, oder?
Und man braucht sich nicht um Transparenz oder ähnliches zu kümmern. Das kann man aber sicher noch weiterentwickeln. Man kann jedes jpg oder bmp verwenden oder einfach nur eine Farbe angeben! Also mir gefällt's sehr gut! 
-
Was haltet ihr von meiner Version für runde Buttons?
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>Opt("GUIOnEventMode",1)
[/autoit] [autoit][/autoit] [autoit]$Form1 = GUICreate("Funkey's Test mit runden Buttons", 400, 800, -1, -1);,$WS_POPUP)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE,"_Exit")_GuiRoundCorners($Form1, 0, 0, 40, 40)
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW, $Form1)
[/autoit] [autoit][/autoit] [autoit]
$Button1 = _GuiCreateRoundButton($Form1, 170, 150, 60, 150, '_Button', 0xFF0000)
GUICtrlCreatePic(@DocumentsCommonDir&'\Eigene Bilder\Beispielbilder\Winter.jpg', 0, 0, 60, 150, 0)
$Button2 = _GuiCreateRoundButton($Form1, 120, 350, 160, 50, '_Button', 0xFFFF00)
$Button3 = _GuiCreateRoundButton($Form1, 150, 450, 100, 100, '_Button', 0x00FF00)
GUICtrlCreatePic(@DocumentsCommonDir&'\Eigene Bilder\Beispielbilder\Sonnenuntergang.jpg', 0, 0, 100, 100, 0)While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(10000)
WEndFunc _Button()
[/autoit] [autoit][/autoit] [autoit]
Switch @GUI_WinHandle
Case $Button1
MsgBox(0, "Runder Button", "Button 1 wurde gedrückt")
Case $Button2
MsgBox(0, "Runder Button", "Button 2 wurde gedrückt")
Case $Button3
MsgBox(0, "Runder Button", "Button 3 wurde gedrückt")
EndSwitch
EndFuncFunc _GuiCreateRoundButton($hWndParent, $iPosx, $iPosy, $iWidth, $iHeight, $sFunc, $iColor)
[/autoit] [autoit][/autoit] [autoit]
Local $ret, $ret2, $nExStyle, $Button
$Button = GUICreate("", $iWidth, $iHeight, $iPosx, $iPosy, $WS_CHILD, -1, $hWndParent)
GUISetOnEvent($GUI_EVENT_PRIMARYUP, $sFunc)
GUISetCursor(0, 1, $Button)
GUISetBkColor($iColor, $Button)
$ret = DllCall('gdi32.dll', 'long', 'CreateRoundRectRgn', 'long', 0, 'long', 0, 'long', $iWidth, 'long', $iHeight, 'long', $iHeight, 'long', $iWidth)
If $ret[0] Then
$ret2 = DllCall('user32.dll', 'long', 'SetWindowRgn', 'hwnd', $Button, 'long', $ret[0], 'int', 1)
If $ret2[0] Then
GUISetState()
Return $Button
Else
Return SetError(1, 0, 0)
EndIf
Else
Return SetError(2, 0, 0)
EndIf
EndFuncFunc _GuiRoundCorners($hWnd, $x1, $y1, $x3, $y3)
[/autoit] [autoit][/autoit] [autoit]
Local $pos, $ret, $ret2
$pos = WinGetPos($hWnd)
$ret = DllCall('gdi32.dll', 'long', 'CreateRoundRectRgn', 'long', $x1, 'long', $y1, 'long', $pos[2], 'long', $pos[3], 'long', $x3, 'long', $y3)
If $ret[0] Then
$ret2 = DllCall('user32.dll', 'long', 'SetWindowRgn', 'hwnd', $hWnd, 'long', $ret[0], 'int', 1)
If $ret2[0] Then
Return 1
Else
Return 0
EndIf
Else
Return 0
EndIf
EndFuncFunc _Exit()
[/autoit]
Exit
EndFuncEdit: GUISetCursor(0, 1, $Button) eingefügt
Edit2: noch überflüssige Zeilen entfernt -
So geht's auch:
Spoiler anzeigen
[autoit]$c = FileOpenDialog("Datei auswählen","C:\","All (*.*)")
[/autoit] [autoit][/autoit] [autoit]
If @error Then Exit$width = _GetExtProperty($c,27)
[/autoit] [autoit][/autoit] [autoit]
$height = _GetExtProperty($c,28)MsgBox(48, $c, $width&' x '&$height)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];===============================================================================
[/autoit]
; Function Name: _GetExtProperty($sPath,$iProp)
; Description: Returns an extended property of a given file.
; Parameter(s): $sPath - The path to the file you are attempting to retrieve an extended property from.
; $iProp - The numerical value for the property you want returned. If $iProp is is set
; to -1 then all properties will be returned in a 1 dimensional array in their corresponding order.
; The properties are as follows:
; Name = 0
; Size = 1
; Type = 2
; DateModified = 3
; DateCreated = 4
; DateAccessed = 5
; Attributes = 6
; Status = 7
; Owner = 8
; Author = 9
; Title = 10
; Subject = 11
; Category = 12
; Pages = 13
; Comments = 14
; Copyright = 15
; Artist = 16
; AlbumTitle = 17
; Year = 18
; TrackNumber = 19
; Genre = 20
; Duration = 21
; BitRate = 22
; Protected = 23
; CameraModel = 24
; DatePictureTaken = 25
; Dimensions = 26
; Width = 27
; Height = 28
; Company = 30
; Description = 31
; FileVersion = 32
; ProductName = 33
; ProductVersion = 34
; Requirement(s): File specified in $spath must exist.
; Return Value(s): On Success - The extended file property, or if $iProp = -1 then an array with all properties
; On Failure - 0, @Error - 1 (If file does not exist)
; Author(s): Simucal ([email='Simucal@gmail.com'][/email])
; Note(s):
;
;===============================================================================
Func _GetExtProperty($sPath, $iProp)
Local $iExist, $sFile, $sDir, $oShellApp, $oDir, $oFile, $aProperty, $sProperty
$iExist = FileExists($sPath)
If $iExist = 0 Then
SetError(1)
Return 0
Else
$sFile = StringTrimLeft($sPath, StringInStr($sPath, "\", 0, -1))
$sDir = StringTrimRight($sPath, (StringLen($sPath) - StringInStr($sPath, "\", 0, -1)))
$oShellApp = ObjCreate ("shell.application")
$oDir = $oShellApp.NameSpace ($sDir)
$oFile = $oDir.Parsename ($sFile)
If $iProp = -1 Then
Local $aProperty[35]
For $i = 0 To 34
$aProperty[$i] = $oDir.GetDetailsOf ($oFile, $i)
Next
Return $aProperty
Else
$sProperty = $oDir.GetDetailsOf ($oFile, $iProp)
If $sProperty = "" Then
Return 0
Else
Return $sProperty
EndIf
EndIf
EndIf
EndFunc ;==>_GetExtProperty -
Es gibt doch auch _IeTable - Befehle.
Schau dir z.B. mal das Hilfe-Beispiel zu _IETableWriteToArray an. -
Du könntst ja mal Strg+Alt+e probieren anstelle von AltGr+e
-
Dankeschön: Der Vorteil des Singleplayer-Modus ist, dass ich nicht alle PC-Gegner einzeln aktivieren muss. Es werden alle 5 übrigen Gegner als PC-Gegner ausgewählt, nachdem ich mich für eine Farbe mit der ich spielen möchte entschieden habe. Außerdem spielt man im Singleplayer-Modus immer mit der Maus. Dazu kommt noch, dass die zukünftige Highscore-Funktion nur für Singleplayer eingebaut wird. Im Multiplayer-Modus kann man wie gewohnt gegen Freunde oder PC oder gemischt spielen.
tobi_girst: Was soll das heißen: 'es passiert überhaupt nichts' ? Kommt nicht mal die GUI oder kommt eine Fehlermeldung oder was verstehe ich nicht.

@Padmak: Werde mal sehen was ich tun kann. Schicke dir dann als erster das Skript zum Testen. Da gab's eh einen Thread darüber in letzter Zeit.
-
Da gibt's z.B. sowas: Kleines Spiel - Kanonenschießen
-
Hallo Leute!
Gute Neuigkeiten für Vista-User. Ich weiß zwar noch nicht wieso, aber wenn man den Aero-Style deaktiviert, dann läuft das Spiel einwandfrei.
Padmak hat mir geholfen ein paar Dinge auszuschließen und Raupi hat das mit dem Aero-Style für mich herausgefunden. Nochmals danke.Anbei die aktuellste Version meines Kurven-Spiels hier mal zum Testen bevor die neue Version 1.4 fertig ist.
Hier ist schon ein Singleplayer- und Multiplayer-Modus mit dabei. Außerdem kann man jederzeit mit der Taste 'p' einen Screenshot anlegen!
In der fertigen Version 1.4 wird dann noch eine Highscore-Funktion für den Singleplayer integriert sein!Was haltet ihr von den Neuerungen?
Edit: Download-Link entfernt, da in Post#1 nun die neuere Version zur Verfügung steht.
-
So geht's auch, wenn es nur einen Explorer-Process gibt
Spoiler anzeigen
[autoit]$oShell = ObjCreate("shell.application")
[/autoit] [autoit][/autoit] [autoit]
$oShellWindows = $oShell.windows
$Process = ProcessList('explorer.exe')If IsObj($oShellWindows) Then
[/autoit]
$string = ""
For $Window In $oShellWindows
If WinGetProcess($Window.LocationName) = $Process[1][1] Then $string &= $Window.LocationName & @CRLF
Next
MsgBox(0, "Shell Windows", "You have the following shell windows:" & @CRLF & @CRLF & $string);
EndIf -
Herzlich willkommen hier bei Autoit.de.
Mit Autoit kannst du nahezu alles in Windows vereinfachen bzw. automatisieren. Du wirst sicher viel Spass dabei haben, denn das gehört dazu zu Autoit
mfg funkey
-
Wenn du das mit TempFile machst, dann muss einer schon genau schauen, woher und was die Datei ist.
[autoit]#Include <File.au3>
[/autoit]
$TempFile = _TempFile()
FileInstall('Bild.jpg', $TempFile)