Bild beliebig anzeigen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

aimheld

Betreff: Bild beliebig anzeigen

BeitragSo, Nov 26, 2006 6:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin !
Ich arbeite seit ca. 2-3 wochen, und ich kann bisher nur gutes berichten. Natürlich hab ich hier und da ein paar schwierigkeiten.
Wie zum beispiel dieses hier.
Ich möchte gerne, das, sagen wir mal ein Bild, ein paar sekunden erscheint.
Ich habe das schon mit delay probiert, aber dann ist das spiel unspielbar weil es dann mit 1 frame alle 2 sekunden vorwärts geht.
Ich hoffe ihr versteht mein problem ;P falls nicht versuch ich es nochmal anders zu erklären.

MfG
aimheld

d-bug

BeitragSo, Nov 26, 2006 9:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Dafür must du dir mir ql:Millisecs einen eigenen Timer einbauen. ql:Delay ist dafür gänzlich ungeeignet, da es dein Spiel komplett anhält.

Code: [AUSKLAPPEN]
;Achtung Dummycode !!!
Global ShowTime = 10000   ; das ist die Zeitspanne in der das Bild
                          ; angezeigt werden soll. In dem Fall 10 Sekunden.

Global Time = Millisecs() ; Dann erst einmal Millisecs zwischenspeichern.

;...deine Schleife

   ; Zeichne das Bild nur, wenn Millisecs kleiner als
   ; die Summe von Time und ShowTime ist
   If Millisecs() < (Time + ShowTime) then
        Mal mir mein Bild
   Endif

;...deine Schleife
  • Zuletzt bearbeitet von d-bug am So, Nov 26, 2006 14:31, insgesamt einmal bearbeitet
 

snörkl

BeitragSo, Nov 26, 2006 10:52
Antworten mit Zitat
Benutzer-Profile anzeigen
oder,was eine schlechtere methode und auch nicht sehr präzise ist, du kannst es mit einer for next schleife machen^^. hab ich früher als ich millisecs. noch nicht kannte immer gemacht.

Bsp.:
Code: [AUSKLAPPEN]
 ;alte code und nicht präzise!
graphics 640,480
;loadimage
global x

;haupschleife

for x=0 to 2000
;drawimage
next
x=0
for x=0 to 2000
;..... usw usw usw
;hauptschleife
end


aber wie gesagt, damit kann man nur notfalls was anfangen, da es nicht präzise ist, außerdem ist es umständlich. Man kann aber mit einer if frage dann halt eine abfrage einbauen, wann x auf einem bestimmten wert oder größer ist und dann irgendwas machen -- geht aber auch bei millisecs

BladeRunner

Moderator

BeitragSo, Nov 26, 2006 11:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Vergiss das for next, das läuft auf allen rechnern unterschiedlich schnell.
Milliscecs() ist und bleibt Mittel der Wahl.
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
 

snörkl

BeitragSo, Nov 26, 2006 11:15
Antworten mit Zitat
Benutzer-Profile anzeigen
find ich ja auch^^- wollts nur mal geschrieben haben, da es eine (wenn auch dumme) alternative ist

BladeRunner

Moderator

BeitragSo, Nov 26, 2006 11:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich finde es nicht gut Sachen zu zeigen die eh nicht gut sind. Dann lass es lieber bleiben. Denn schlechte Angewohnheiten bügelt man nur schwer aus wenn sie sich erst mal festgesetzt haben.
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
 

aimheld

BeitragMo, Nov 27, 2006 22:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin !
Sry das ich mich erst jetzt melden kann, aber mein Monitor war kaputt Razz
Ja, vielen dank für eure hilfe. Hat mir sehr weitergeholfen.

MfG
aimheld

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group