also bei mir ist der fehler trotzdem noch trotz entpacken aller datein
Super Mario Jump n Run
-
-
Weißer Bildschirm
System : Win Vista 32 BitHabs schon mit allen Designs probiert
-
Tja Vista halt .. sag ich nur zu selber schuld
Bei mir läuft es super .. leider wenn man stirbt beendet sich das script sofort -
Naja ich hab einmal xp sp2 und win vista sp1 aber bei beiden kann ich es nicht spielen auch wenn ich es enpacke
Aber wiso funst es bei einer helfte und bei der anderen helfte nicht ?? -
haste es mal über scite gestartet ?
Und schau wie weit er kommt .. Lädt er die Leveldatei komplett ?Das sollte er vllt ein wenig anders gestallten
da kann ich mir vorstellen das es deswegen so lange dauert ebi einigen..Leider liest er die datei jedes mal einzelnd ein IniRead <-- anstatt das file mit einmal einzulesen und in einem array die daten zu speichern oder in einer hash
-
Ich denke ich hab mal einen Fehler gefunden:
Vista und Windows 7 akzeptieren nur 32bit-Icons, meine Gfx.icl war jedoch nur 16bitIm ersten Post gibt es nun die 32bit-Version
Die weiteren Fehler wie z.b. bei Tuttifrutti hab ich mir noch nicht angesehen...
lgE
-
Da muss ich gummibär zustimmen startet viel schneller
-
hammer !! Einfach perfekt Mach weiter an diesem Projekt ! Bitte !!! Es ist einfach perfekt
-
joa eigenlich muss man jetzt noch
1 : sound
2 : nach dem tot wieder am start kommen oder (checkpoint were cool)
3 : Mehr lvl da mann ja am ende stirbt
Re : gummibär gute arbeit !!! -
Ich habe einen Bug gefunden. Da ich nicht alle Posts durchgelesen habe kann es sein das das schon jemand entdeckt hat.
Und zwar, wenn man der "große" Mario ist und ein Fragezeichen anspringt kommt eine Feuerblume, wenn man diese nicht gleich aufnimmt sonder erst durch einen Gegner
verkleinert wird und man dann die Blume aufnimmt wird man zu einem Feuermario.
Ich denke das ist nicht beabsichtigt
Gruß Sven -
@h0scHberT: Das ist beim Original aber genau so! It's no bug, it's a feature!
-
geiles Spiel
Ich komm aber an einer Stelle nicht weiter, wo muss ich hin wenn der Balken einen hochträgt? Nach rechts war glaubich nichts mehr und wenn man draufbleibt stirbt man weil man an die Decke gedrückt wird^^
-
joa Greek das liegt daran das das lvl noch nicht weiter geht da ist das game zu ende
Mfg eistee
-
joa eigenlich muss man jetzt noch
1 : sound
2 : nach dem tot wieder am start kommen oder (checkpoint were cool)
3 : Mehr lvl da mann ja am ende stirbt
Re : gummibär gute arbeit !!!Ich hab hier mal eine Version gebastelt ( nur kleinigkeiten geändert )
Sound ist aber noch nicht ganz perfektAls erste erstmal ein sleep in die schleife da die Cpu sonst gefickt wird
Weiteres was mir aufgefallen ist das man durch mauern durschiessen kann ( 1 Fleischfressende pflanze wird getroffen )
Ich denke mal ein kleiner Level Editor wäre schon nicht schlecht ..
Vllt sollte man die levels noch ein wenig anders aufbauen
Es werden ja eigentlich nur die positionsdaten gerbaucht wo wirklich was ist und nicht immer die lerren felderzb 1-1-1
erstes feld ganz unten stein wo man drauf steht ( Boden
2-1-1
3-1-1
3-6-24usw
So müsste das script noch weniger daten einlesenals erstes sollte die CPU belastung gesenkt werden ein Mario game was sich eine von meinen 2 kernen komplett bedient ist einfach zu hoch
Sind alles nur vorschläge
Denke das Problem ist das die Gui jedes mal alles neu aufbauen muss
-
wo ist die version von dir gummibär ? will testen bitte
-
Also einen Leveleditor gibt es eigentlich schon...
Dies ist natürlich NICHT die endgültige Version, da sie wirklich schlecht und langsam zu bedienen ist!
Sondern nur schnell mal hinprogrammiert, um mir die Entwicklung des Games etwas zu vereinfachen.Zum Testen reichts mal aus
Spoiler anzeigen
[autoit]#include <ScrollBarConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiScrollBars.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StructureConstants.au3>
#include <WindowsConstants.au3>Opt("GuiOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]Global $iScroll = 0, $iItem = 0, $iLX = 0, $iLY = 0
[/autoit] [autoit][/autoit] [autoit]Global $hGui = GUICreate("Level Editor", 320 * 3 + 3, 640)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "_EXIT")
GUISetOnEvent($GUI_EVENT_SECONDARYDOWN, "_Settings")
Global $hItem[60]
Global $hDummyItem = GUICtrlCreateDummy()
For $j = 0 To 2
For $i = 0 To 18
$hItem[$i + 18 * $j] = GUICtrlCreateCheckbox("", 10 + $i * 50, 270 + 50 * $j, 40, 40, BitOR($BS_PUSHLIKE, $BS_AUTORADIOBUTTON, $BS_ICON))
_ItemSetIcon($hItem[$i + 18 * $j], $i + 19 * $j)
GUICtrlSetOnEvent(-1, "_SetItem")
Next
NextGUICtrlCreateGroup("Settings Fragezeichen", 10, 430, 200, 80)
[/autoit] [autoit][/autoit] [autoit]
Global $hFragezeichenSet1 = GUICtrlCreateInput("0", 20, 455, 40, 20)
GUICtrlSetOnEvent(-1, "_SetParam")
GUICtrlCreateLabel("Anzahl Münzen", 80, 458, 100, 20)
Global $hFragezeichenSet2 = GUICtrlCreateCheckbox("Pilz", 20, 480, 180, 20)
GUICtrlSetOnEvent(-1, "_SetParam")GUICtrlCreateGroup("Settings Rohr", 230, 430, 200, 80)
[/autoit] [autoit][/autoit] [autoit]
Global $hRohrSet = GUICtrlCreateCheckbox("Pflanze", 240, 480, 180, 20)
GUICtrlSetOnEvent(-1, "_SetParam")GUICtrlCreateGroup("Settings Aufzug", 450, 430, 200, 120)
[/autoit] [autoit][/autoit] [autoit]
GUIStartGroup()
Global $hAufzugSet1 = GUICtrlCreateRadio("Auf", 460, 455, 80, 20)
GUICtrlSetOnEvent(-1, "_SetParam")
Global $hAufzugSet2 = GUICtrlCreateRadio("Ab", 460, 480, 80, 20)
GUICtrlSetOnEvent(-1, "_SetParam")
GUIStartGroup()
Global $hAufzugSet3 = GUICtrlCreateRadio("Links", 560, 455, 80, 20)
GUICtrlSetOnEvent(-1, "_SetParam")
Global $hAufzugSet4 = GUICtrlCreateRadio("Rechts", 560, 480, 80, 20)
GUICtrlSetOnEvent(-1, "_SetParam")
GUICtrlCreateRadio("Nichts", 560, 505, 80, 20)
GUICtrlSetOnEvent(-1, "_Clear")Global $hLoad = GUICtrlCreateButton("Load", 800, 460, 100, 30)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent(-1, "_Load")
Global $hSave = GUICtrlCreateButton("Save", 800, 510, 100, 30)
GUICtrlSetOnEvent(-1, "_Save")GUISetState(@SW_SHOW, $hGui)
[/autoit] [autoit][/autoit] [autoit]Global $hChild = GUICreate("Level Edit", 320 * 3, 250, 0, 0, BitOR($WS_CHILD, $WS_HSCROLL), $WS_EX_CLIENTEDGE, $hGui)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "_EXIT")
GUISetBkColor(0x0099FF)
;GUICtrlCreateLabel("",0,0,6740,240)
;GUICtrlSetBkColor(-1,0x0099FF)
;GUICtrlSetState(-1,$GUI_DISABLE)_GUIScrollBars_Init($hChild, 10, 0)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_GUIScrollBars_ShowScrollBar($hChild, $SB_HORZ, True)
_GUIScrollBars_ShowScrollBar($hChild, $SB_VERT, False)
Local $tSCROLLINFO = DllStructCreate($tagSCROLLINFO)
DllStructSetData($tSCROLLINFO, "fMask", BitOR($SIF_RANGE, $SIF_PAGE))
DllStructSetData($tSCROLLINFO, "nMin", 0)
DllStructSetData($tSCROLLINFO, "nMax", 6740)
DllStructSetData($tSCROLLINFO, "nPage", 320 * 3)
_GUIScrollBars_SetScrollInfo($hChild, $SB_HORZ, $tSCROLLINFO)Global $hStone[49][13], $aStone[400][13], $aStoneSettings[400][13][2]
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 To 337
For $j = 1 To 12
$aStone[$i][$j] = 0
$aStoneSettings[$i][$j][0] = 0
$aStoneSettings[$i][$j][1] = 0
Next
NextGlobal $hDummyStone = GUICtrlCreateDummy()
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 To 48
For $j = 1 To 12
$hStone[$i][$j] = GUICtrlCreateIcon(@ScriptDir & "\GFX.icl", 0, $i * 20 - 20, 240 - $j * 20, 19, 19)
GUICtrlSetOnEvent(-1, "_SetStone")
Next
NextGUISetState(@SW_SHOW, $hChild)
[/autoit] [autoit][/autoit] [autoit]GUIRegisterMsg($WM_HSCROLL, "WM_HSCROLL")
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc _Clear()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($hAufzugSet1, $GUI_UNCHECKED)
GUICtrlSetState($hAufzugSet2, $GUI_UNCHECKED)
GUICtrlSetState($hAufzugSet3, $GUI_UNCHECKED)
GUICtrlSetState($hAufzugSet4, $GUI_UNCHECKED)
EndFunc ;==>_ClearFunc _Load()
[/autoit] [autoit][/autoit] [autoit]
Local $sLine, $aLine
Local $hFile = FileOpenDialog("Open", @ScriptDir, "(*.lvl)")
For $x = 1 To 337
ToolTip("Loading " & Round($x * 100 / 337) & "%")
For $y = 1 To 12
$sLine = IniRead($hFile, "Stones", $x & "-" & $y, "0;0;0")
;ConsoleWrite($sLine)
$aLine = StringSplit($sLine, ";", 2)
$aStone[$x][$y] = $aLine[0]
$aStoneSettings[$x][$y][0] = $aLine[1]
$aStoneSettings[$x][$y][1] = $aLine[2]
Next
Next
GUISetState(@SW_LOCK, $hGui)
GUISetState(@SW_LOCK, $hChild)
For $i = 1 To 48
For $j = 1 To 12
_ItemSetIcon($hStone[$i][$j], $aStone[$i + $iScroll][$j], -1)
Next
Next
GUISetState(@SW_UNLOCK, $hChild)
GUISetState(@SW_UNLOCK, $hGui)
ToolTip("")
EndFunc ;==>_LoadFunc _Save()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Local $hFile = FileOpenDialog("Save", @ScriptDir, "(*.lvl)")
For $x = 1 To 337
ToolTip("Saving " & Round($x * 100 / 337) & "%")
For $y = 1 To 12
IniWrite($hFile, "Stones", $x & "-" & $y, $aStone[$x][$y] & ";" & $aStoneSettings[$x][$y][0] & ";" & $aStoneSettings[$x][$y][1])
Next
Next
ToolTip("")
;Exit
EndFunc ;==>_SaveFunc _SetParam()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
ConsoleWrite("SetN " & $iLX & " " & $iLY & @LF)
Switch @GUI_CtrlId
Case $hFragezeichenSet1, $hRohrSet
$aStoneSettings[$iLX][$iLY][0] = GUICtrlRead(@GUI_CtrlId)
Case $hFragezeichenSet2
$aStoneSettings[$iLX][$iLY][1] = GUICtrlRead(@GUI_CtrlId)
Case $hAufzugSet1, $hAufzugSet2, $hAufzugSet3, $hAufzugSet4
$aStoneSettings[$iLX][$iLY][0] = 0
$aStoneSettings[$iLX][$iLY][1] = 0
If GUICtrlRead($hAufzugSet1) = 1 Then $aStoneSettings[$iLX][$iLY][1] = -2
If GUICtrlRead($hAufzugSet2) = 1 Then $aStoneSettings[$iLX][$iLY][1] = 2
If GUICtrlRead($hAufzugSet3) = 1 Then $aStoneSettings[$iLX][$iLY][0] = -2
If GUICtrlRead($hAufzugSet4) = 1 Then $aStoneSettings[$iLX][$iLY][0] = 2
EndSwitch
EndFunc ;==>_SetParamFunc _Settings()
[/autoit] [autoit][/autoit] [autoit]
Local $info = GUIGetCursorInfo($hChild)
Local $iIndex = $info[4] - $hDummyStone
If $iIndex < 1 Or $iIndex > 576 Then Return
GUICtrlSetState($hFragezeichenSet1, $GUI_DISABLE)
GUICtrlSetState($hFragezeichenSet2, $GUI_DISABLE)
GUICtrlSetState($hRohrSet, $GUI_DISABLE)
GUICtrlSetState($hAufzugSet1, $GUI_DISABLE)
GUICtrlSetState($hAufzugSet2, $GUI_DISABLE)
GUICtrlSetState($hAufzugSet3, $GUI_DISABLE)
GUICtrlSetState($hAufzugSet4, $GUI_DISABLE)
Local $iY = Mod($iIndex, 12)
Local $iX = Ceiling($iIndex / 12)
If $iY = 0 Then $iY = 12
$iLX = $iX + $iScroll
$iLY = $iY
Local $iItem = $aStone[$iX + $iScroll][$iY]
Switch $iItem
Case 6
GUICtrlSetState($hFragezeichenSet1, $GUI_ENABLE)
GUICtrlSetState($hFragezeichenSet2, $GUI_ENABLE)
GUICtrlSetData($hFragezeichenSet1, $aStoneSettings[$iX + $iScroll][$iY][0])
If $aStoneSettings[$iX + $iScroll][$iY][1] = 1 Then
GUICtrlSetState($hFragezeichenSet2, $GUI_CHECKED)
Else
GUICtrlSetState($hFragezeichenSet2, $GUI_UNCHECKED)
EndIf
Case 8
GUICtrlSetState($hRohrSet, $GUI_ENABLE)
If $aStoneSettings[$iX + $iScroll][$iY][0] = 1 Then
GUICtrlSetState($hRohrSet, $GUI_CHECKED)
Else
GUICtrlSetState($hRohrSet, $GUI_UNCHECKED)
EndIf
Case 38
GUICtrlSetState($hAufzugSet1, $GUI_ENABLE)
GUICtrlSetState($hAufzugSet2, $GUI_ENABLE)
GUICtrlSetState($hAufzugSet3, $GUI_ENABLE)
GUICtrlSetState($hAufzugSet4, $GUI_ENABLE)
GUICtrlSetState($hAufzugSet3, $GUI_UNCHECKED)
GUICtrlSetState($hAufzugSet4, $GUI_UNCHECKED)
If $aStoneSettings[$iX + $iScroll][$iY][0] < 0 Then
GUICtrlSetState($hAufzugSet3, $GUI_CHECKED)
ElseIf $aStoneSettings[$iX + $iScroll][$iY][0] > 0 Then
GUICtrlSetState($hAufzugSet4, $GUI_CHECKED)
EndIf
GUICtrlSetState($hAufzugSet1, $GUI_UNCHECKED)
GUICtrlSetState($hAufzugSet2, $GUI_UNCHECKED)
If $aStoneSettings[$iX + $iScroll][$iY][1] < 0 Then
GUICtrlSetState($hAufzugSet1, $GUI_CHECKED)
ElseIf $aStoneSettings[$iX + $iScroll][$iY][1] > 0 Then
GUICtrlSetState($hAufzugSet2, $GUI_CHECKED)
EndIf
EndSwitch
EndFunc ;==>_SettingsFunc _SetStone()
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($hFragezeichenSet1, $GUI_DISABLE)
GUICtrlSetState($hFragezeichenSet2, $GUI_DISABLE)
GUICtrlSetState($hRohrSet, $GUI_DISABLE)
GUICtrlSetState($hAufzugSet1, $GUI_DISABLE)
GUICtrlSetState($hAufzugSet2, $GUI_DISABLE)
GUICtrlSetState($hAufzugSet3, $GUI_DISABLE)
GUICtrlSetState($hAufzugSet4, $GUI_DISABLE)
Local $iIndex = @GUI_CtrlId - $hDummyStone
Local $iY = Mod($iIndex, 12)
Local $iX = Ceiling($iIndex / 12)
If $iY = 0 Then $iY = 12
$iLX = $iX + $iScroll
$iLY = $iY
If $aStone[$iX + $iScroll][$iY] <> $iItem Then _SetSettings($iX + $iScroll, $iY, $iItem)
$aStone[$iX + $iScroll][$iY] = $iItem
_ItemSetIcon(@GUI_CtrlId, $iItem, -1)
Switch $iItem
Case 6
GUICtrlSetState($hFragezeichenSet1, $GUI_ENABLE)
GUICtrlSetState($hFragezeichenSet2, $GUI_ENABLE)
GUICtrlSetData($hFragezeichenSet1, $aStoneSettings[$iX + $iScroll][$iY][0])
If $aStoneSettings[$iX + $iScroll][$iY][1] = 1 Then
GUICtrlSetState($hFragezeichenSet2, $GUI_CHECKED)
Else
GUICtrlSetState($hFragezeichenSet2, $GUI_UNCHECKED)
EndIf
Case 8
GUICtrlSetState($hRohrSet, $GUI_ENABLE)
If $aStoneSettings[$iX + $iScroll][$iY][0] = 1 Then
GUICtrlSetState($hRohrSet, $GUI_CHECKED)
Else
GUICtrlSetState($hRohrSet, $GUI_UNCHECKED)
EndIf
Case 38
GUICtrlSetState($hAufzugSet1, $GUI_ENABLE)
GUICtrlSetState($hAufzugSet2, $GUI_ENABLE)
GUICtrlSetState($hAufzugSet3, $GUI_ENABLE)
GUICtrlSetState($hAufzugSet4, $GUI_ENABLE)
GUICtrlSetState($hAufzugSet3, $GUI_UNCHECKED)
GUICtrlSetState($hAufzugSet4, $GUI_UNCHECKED)
If $aStoneSettings[$iX + $iScroll][$iY][0] < 0 Then
GUICtrlSetState($hAufzugSet3, $GUI_CHECKED)
ElseIf $aStoneSettings[$iX + $iScroll][$iY][0] > 0 Then
GUICtrlSetState($hAufzugSet4, $GUI_CHECKED)
EndIf
GUICtrlSetState($hAufzugSet1, $GUI_UNCHECKED)
GUICtrlSetState($hAufzugSet2, $GUI_UNCHECKED)
If $aStoneSettings[$iX + $iScroll][$iY][1] < 0 Then
GUICtrlSetState($hAufzugSet1, $GUI_CHECKED)
ElseIf $aStoneSettings[$iX + $iScroll][$iY][1] > 0 Then
GUICtrlSetState($hAufzugSet2, $GUI_CHECKED)
EndIf
_ItemSetIcon(@GUI_CtrlId + 12, $iItem, -1)
_ItemSetIcon(@GUI_CtrlId + 24, $iItem, -1)
EndSwitch
EndFunc ;==>_SetStoneFunc _SetSettings($iX, $iY, $iI)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$aStoneSettings[$iX][$iY][0] = 0
$aStoneSettings[$iX][$iY][1] = 0
Switch $iI
Case 6 ; Fragezeichen, (wird dann zu 6)
$aStoneSettings[$iX][$iY][0] = 5
$aStoneSettings[$iX][$iY][1] = 0
Case 9 ; Rohr, 3 = Eingang
$aStoneSettings[$iX][$iY][0] = 0
$aStoneSettings[$iX][$iY][1] = 0
Case 38
$aStoneSettings[$iX][$iY][0] = -2
$aStoneSettings[$iX][$iY][1] = 0
EndSwitch
EndFunc ;==>_SetSettingsFunc _SetItem()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$iItem = @GUI_CtrlId - $hDummyItem - 1
EndFunc ;==>_SetItemFunc _ItemSetIcon($hCtrlID, $iIndex, $iOff = 0)
[/autoit] [autoit][/autoit] [autoit]
Switch $iIndex
Case 0
GUICtrlSetImage($hCtrlID, @ScriptDir & "\GFX.icl", 0 + $iOff)
Case 1 To 13
GUICtrlSetImage($hCtrlID, @ScriptDir & "\GFX.icl", 43 + $iIndex + $iOff)
Case 14 To 33
GUICtrlSetImage($hCtrlID, @ScriptDir & "\GFX.icl", 68 + $iIndex + $iOff)
Case 34 ; Geld
GUICtrlSetImage($hCtrlID, @ScriptDir & "\GFX.icl", 44 + $iIndex + $iOff)
Case 35 ; Watschelmann
GUICtrlSetImage($hCtrlID, @ScriptDir & "\GFX.icl", 24 + $iIndex + $iOff)
Case 36 ; Schildkröte
GUICtrlSetImage($hCtrlID, @ScriptDir & "\GFX.icl", 26 + $iIndex + $iOff)
Case 37
GUICtrlSetImage($hCtrlID, @ScriptDir & "\GFX.icl", 28 + $iIndex + $iOff)
Case 38
GUICtrlSetImage($hCtrlID, @ScriptDir & "\GFX.icl", 34 + $iIndex + $iOff)
Case Else
If $iOff = 0 Then GUICtrlSetState($hCtrlID, $GUI_DISABLE)
EndSwitch
EndFunc ;==>_ItemSetIconFunc WM_HSCROLL($hWnd, $Msg, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#forceref $Msg, $lParam
Local $nScrollCode = BitAND($wParam, 0x0000FFFF)
Local $index = -1, $xChar, $xPos
Local $Min, $Max, $Page, $Pos, $TrackPos
For $x = 0 To UBound($aSB_WindowInfo) - 1
If $aSB_WindowInfo[$x][0] = $hWnd Then
$index = $x
$xChar = $aSB_WindowInfo[$index][2]
ExitLoop
EndIf
Next
If $index = -1 Then Return 0
Local $tSCROLLINFO = _GUIScrollBars_GetScrollInfoEx($hWnd, $SB_HORZ)
$Min = DllStructGetData($tSCROLLINFO, "nMin")
$Max = DllStructGetData($tSCROLLINFO, "nMax")
$Page = DllStructGetData($tSCROLLINFO, "nPage")
$xPos = DllStructGetData($tSCROLLINFO, "nPos")
$Pos = $xPos
$TrackPos = DllStructGetData($tSCROLLINFO, "nTrackPos")
#forceref $Min, $Max
Switch $nScrollCode
Case $SB_LINELEFT ; user clicked left arrow
DllStructSetData($tSCROLLINFO, "nPos", $Pos - 20)
Case $SB_LINERIGHT ; user clicked right arrow
DllStructSetData($tSCROLLINFO, "nPos", $Pos + 20)
Case $SB_PAGELEFT ; user clicked the scroll bar shaft left of the scroll box
DllStructSetData($tSCROLLINFO, "nPos", $Pos - $Page)
Case $SB_PAGERIGHT ; user clicked the scroll bar shaft right of the scroll box
DllStructSetData($tSCROLLINFO, "nPos", $Pos + $Page)
Case $SB_THUMBTRACK ; user dragged the scroll box
DllStructSetData($tSCROLLINFO, "nPos", $TrackPos)
EndSwitch
$iScroll = Floor(DllStructGetData($tSCROLLINFO, "nPos") / 20)
DllStructSetData($tSCROLLINFO, "fMask", $SIF_POS)
_GUIScrollBars_SetScrollInfo($hWnd, $SB_HORZ, $tSCROLLINFO)
_GUIScrollBars_GetScrollInfo($hWnd, $SB_HORZ, $tSCROLLINFO)
$Pos = DllStructGetData($tSCROLLINFO, "nPos")
GUISetState(@SW_LOCK, $hGui)
GUISetState(@SW_LOCK, $hChild)
For $i = 1 To 48
For $j = 1 To 12
_ItemSetIcon($hStone[$i][$j], $aStone[$i + $iScroll][$j], -1)
Next
Next
GUISetState(@SW_UNLOCK, $hChild)
GUISetState(@SW_UNLOCK, $hGui)
;If ($Pos <> $xPos) Then _GUIScrollBars_ScrollWindow($hWnd, 1 * ($xPos - $Pos), 0)
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_HSCROLLFunc _EXIT()
[/autoit]
Exit
EndFunc ;==>_EXITlgE
ps.: Die aktuelle Lösung der Levels als Ini-File ist auch nur eine Übergangslösung...
Aber es wird sich am Game selber noch soviel ändern, daß sich zwangsläufig auch noch die Levels ändern... -
Files Gelöscht ( Neue Version 1 Post )
-
ich finde die version von gummibär ist jetzt etwas langsamer gewurden kann das sein. Und beim leveleditor blingt mein ganzer desktop
-
ich hab nur ein sleep von 18 millisekunden drin .. der rest müsste nur etwas beschleunigt werden dann gleicht sich das wieder aus ..
Vorteil so cpu wird nicht so misshandelt
Wenn du den slepp nicht möchtest dann dukementiere ihn aus Zeile 99Beim leveleditor wenn du ihn dir anschaust siehst du auch das er es immer wieder neu aufbaut
und der Leveleditor hat eukalyptus auch nur so schnell mal gepostet und schrieb auch
Ich zitiere
"schnell mal hinprogrammiert, um mir die Entwicklung des Games etwas zu vereinfachen."
also er musste schnell funktionieren und nicht sein zweck erfüllen. -
Hab eine neue Version (im ersten Post)
Als wichtigstes hab ich die Geschwindigkeit optimiert.
Jetzt läuft das Spiel auch dann flüssig, wenn viele Geldstücke, Aufzüge usw. im Level vorkommen...
Auch ein Sleep zur Prozessorentlastung hab ich eingebaut, allerdings nur dann, wenn alle Berechnungen schon fertig sind.Weiters hab ich auch die Level-Struktur von Gummibaer übernommen
Auf die Sounds verzichte ich vorerst noch, da ich befürchte, daß es im Script nocht zu viele Änderungen geben wird...
Aber die Soundfiles gibt es schon mal - Thx Gummibaer!lgE
Edit:
Ach ja, nicht wundern, wenn man am Schluß nicht über die Fahne kommt, das ist noch nicht fertig -