![]() |
spiel mit autoit bessern :D
hey leute,
ich bin grad an som game, die seiten "laufen" bei dem sozusagen. dafür habe ich das bild größer als die gui gemacht und dann immer y +10 gemacht jetz machts aber immer böcke, also es ist manchmal langsamer manchmal schneller. und zuviel wird in der while schleife auch nicht gemacht. hier mal soein einblick: $seitey = -480 If $seitey <= -30 Then $seitey = $seitey + 10 ElseIf $seitey = -20 Then $seitey = -480 EndIf bild hat höhe 960. es soll mit konstanter geschwindigkeit an der seite der gui "laufen". mit sleep undso hab ich schon immer versucht eigentlich überall aber hat nix gebracht :D gibts ne func die das regelt oder könnt ihr mir was andres sagen? MfG hab alles mit gdiplus(müsste eigentlich klar sein) gemacht edit: sry hab mich wohl etwas komisch ausgedrückt.. ICH mache ein spiel mit autoit und ich verbessere kein schon da gewesenes game |
Dein Problem ist ein grundlegendes : du hast (vermutlich) keine Hardware-Unterstützung beim Zeichnen also musst du dich massiv einschränken. Wenn man nun wirklich (!) Software-Rendering für solche Dinge nutzen will so muss man auf Techniken wie Double Buffering, Bitfelder-Maskierung / Blitting etc. zurückgreifen, solltest dich mal in Bezug auf das schlau machen in deiner erwählten Sprache.
Deinem Wortlaut entnehme ich dass du es bisher nur mit Sleep "probiert" hast ... nun, das lässt doch sehr stark vermuten dass dir noch grundlegendes Wissen in Bezug auf Softwareentwicklung fehlt. Wenn du eine while-Schleife für das Zeichnen verwendest UND dich dann wunderst dass es unterschiedlich schnell abläuft und höchstwahrscheinlich auch 100% CPU-Last verursacht ... dann kann ich dir nur wohlwollend empfehlen zuerst einmal das Entwickeln von Software zu erlernen - ansonsten wirst du mit zunehmender Komplexität nur noch auf mehr solcher "Phänomene" stoßen. Dein Problem würde man nun lösen indem man eigene Zeichnungsroutinen entwirft die den zu-zeichnenden Differentialbereich ermittelt (Blitting) und mittels Hochpräszisionstimer das Zeichnen selbst auf feste Intervalle verlagert - das alles natürlich nebenläufig, keinesfalls im Mainthread. Und zum "mal eben testen" würde ein Sleep() reichen, 1 ms Wartezeit zwischen jedem Zeichnungsvorgang reicht meist, sofern das Zeichnen selbst nicht derart intensiv ist dass es länger als 1 ms dauert (in dem Fall kann man meist von einem Programmierfehler ausgehen) |
Zitat:
naja ich hab 1 sleep gebraucht um alles perfekt zum laufen zu bringen.. dieser andere kleine fehler is zeichnungsfehler von mir :D:D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:31 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.