[Gelöst :D]Canvas Problem

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

BB-Freak

Betreff: [Gelöst :D]Canvas Problem

BeitragDi, Okt 25, 2011 16:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Forum,
ich hab mir neulich Blitz+ zugelegt und probiere gerade herum. Dabei bin ich auf ein Problem gestoßen :
Ich habe ein Canvas erstellt und will darin einen Timer laufen lassen, aber irgendwie macht das Canvas erst etwas, wenn ich mit der Maus darin rum fahr Sad Ich hab auch schon versuchtes zu aktivieren : ActivateGadget Canvas
Hat leider nicht geklappt.
Vielen Dank für eure Hilfe Very Happy schonmal im vorraus Wink
  • Zuletzt bearbeitet von BB-Freak am So, Nov 06, 2011 18:13, insgesamt einmal bearbeitet

Starwar

BeitragDi, Okt 25, 2011 18:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Erstelle einen Timer (CreateTimer) und überprüfe in der Hauptschleife mit WaitEvent auf das Event TimerTick $4001.
Da kannst du dann zeichnen.
MFG

PS: Nicht SetBuffer(Canvasbuffer(canvas)) und FlipCanvas(canvas) vergessen Wink

BB-Freak

BeitragFr, Okt 28, 2011 15:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok ich hab mich nicht so treffend ausgerückt Rolling Eyes
Ich meinte ich möchte in dem Canvas einen Text anzeigen(Timer), der sich aktualisiert, aber das Canvas ist nur aktiv/aktualisiert den Text nur, wenn ich mit der Maus darin rumfahr.

Xeres

Moderator

BeitragFr, Okt 28, 2011 16:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Dir wäre wahrscheinlich schneller und problemloser geholfen, wenn du einfach mal deinen Code postest.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

BB-Freak

BeitragMo, Okt 31, 2011 11:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Oke kein Problem Laughing
Code: [AUSKLAPPEN]
Win=CreateWindow("Gewitter entfernungs messer ;)", 300, 300, 500, 400,Desktop(),15)
WinH=GadgetHeight(Win)
WinW=GadgetWidth(Win)

Canvas=CreateCanvas(160,80,140,100,Win,65536)

;---Buttons---
Button=CreateButton("Berrechnen",160,250,140,22,Win)
Start_Button=CreateButton("Start",160,220,50,22,Win)
Stop_Button=CreateButton("Stop",250,220,50,22,Win)
Global Start=0
Global Millisekunden%

SetBuffer CanvasBuffer(Canvas)

Repeat
Cls
Text 1,20,"Zeit"
Text 1,35,ZeitBerechnen$(StartTime%)
Text 1,50,"Entfernung"
Text 1,65,Entfernung#+m$

Entfernung#=Millisek*3.33
If Entfernung#>1000 Then
 Entfernung#=Millisek*0.00333
 m$="km"
Else
 m$="m"
EndIf
If Start=1 Then
Millisek=(MilliSecs()-Starttime%)/10
EndIf

   Select WaitEvent()
     
      Case $1001
       EvData=EventData()

      Case $401
       source=EventSource()

       If source=Start_Button Then
        Starttime%=MilliSecs()
        Start=1
       EndIf

       If source=Stop_Button Then
        Starttime%=MilliSecs()
        Start=0
       EndIf


      Case $803
       End


   End Select

FlipCanvas Canvas
Forever

Function ZeitBerechnen$(StartTime%)
   If Start=1 Then
    TimeInMillisekunden = MilliSecs()- StartTime%
   EndIf
    Millisekunden%=  TimeInMillisekunden Mod 1000
    Sekunden%= (TimeInMillisekunden /1000)Mod 60
    Minuten% = (TimeInMillisekunden /1000/60)Mod 60
    Stunden% = (TimeInMillisekunden /1000/60/60)Mod 24
    Tage%    = (TimeInMillisekunden /1000/60/60/24)
    Return Replace (RSet (Minuten%,2)+":"+RSet (Sekunden%,2)+","+RSet (Millisekunden%,4)," ",0)
End Function

ozzi789

BeitragMo, Okt 31, 2011 12:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Momentan wartest du solange bis ein Event eintritt, jedoch kann man auch ein Timeout angeben.
Ändere in deinem Code folgendes:
Code: [AUSKLAPPEN]
Waitevent() -> Waitevent(10)

Zudem, schau dir mal den Hilfe Text an -> Waitevent


Grüsse
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

BB-Freak

BeitragDo, Nov 03, 2011 15:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Achso Laughing Wusste nicht, dass das das Prog stoppt ^^

Danke Wink

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group