Benutzereingabe und Programmweiterlauf
Übersicht

FreeFredBetreff: Benutzereingabe und Programmweiterlauf |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
kann mir jemand sagen, warum nach dem KeyWait() das nächste Rechteck nicht dargestellt wird?! BlitzBasic: [AUSKLAPPEN] Graphics 800, 600, 16, 3 Das Programm wird nach dem KeyWait() fortgesetzt, wenn ich eine Taste drücke (da ich dann erst schließen kann). Das 2. Rechteck erscheint aber nicht... |
||
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich weiß nicht was noch in dem Code drin ist, was du nicht in dem Beispiel in deinem Beitrag reinkopiert hast.
Ich kann deinen Code auch nicht bei mir laufen lasse, ich habe Blitz3D und da geht das so gar nicht. Ich möchte nur auf eine mögliche "Fehlerursache" aufmerksam machen. Das erste Rechteck wird am Anfang gezeichnet und bleibt lange sichtbar da, solange, bis jemand die Taster drückt. Das 2. Rechteck wird erst gezeichnet, wenn die Taste gedrückt wurde. Dann nach der Zeichnung endet das Programm eine Millisekunde später. Der Betrachter hat also gar keine Zeit, den 2. Rechteck wahrzunehmen. Manchmal ist es so, daß zwar alles richtig dargestellt wird, nur wird ein Teil zu kurz angezeigt oder gar überschrieben. Mein Tipp: Bei solchen Fehler die du hast, immer auf diese Möglichkeit achten. |
||
![]() |
Ebola33 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
das ist ja interessant. Bei mir (B3D) funktioniert Keywait() gar nicht ![]() Wieder was dazu gelernt. Benutze einfach getkeys. bye |
||
ansteckend... ![]() verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/ |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
da es Bplus ist, gehts auch mit keywait(), ist identisch mit waitkey!
von deinen Rects dürfte keins zu sehen sein, da BPlus automatsich den Bachbuffer() aktiviert und alles da rein zeichnet! Ohne Flip wird das nichts! Funktionieren sollte es aber wenn du es so schreibst! BlitzBasic: [AUSKLAPPEN] Graphics 800, 600, 16, 2 |
||
[BB2D | BB3D | BB+]
|
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
er benutzt B+, darum gehen die Befehle bei euch nicht..... Das Problem ist, dass bei B+ schon immer Standardmässig der Backbuffer initialisert ist, deshalb musst du noch Flip benützen..... Sonst würde ich nicht KeyWait sondern ql:WaitKey benutzen, das ist eigentlich der Standardbefehl ![]() Am schluss wartest du auf den Event $803..... - Das geht aber nur mit GUI-Fenstern (mit ql:CreateWindow erstellt), deshalb ist dein Programm am Schluss in einer Endlosschleife..... cu simi //edit: ein bisschen zu spät ![]() |
||
FreeFred |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@ Omenaton_2
das ist der ganze code, sonst gibts nix. wenn du statt keywait waitkey nimmst, gehts auch unter blitz3d. nach der betätigung der taste endet das prog nicht - es wird wieder auf eine eingabe gewartet. @ Rallimen das erste rect ist aber immer zu sehen, egal wie ich es modifiziere. mit FLIP funktioniert das ganze aber ![]() wenn b+ standardmäßig den backbuffer aktiviert, ist es irgendwie merkwürdig, dass immer alle rects gezeichnet werden, wenn ich waitkey nicht verwende. wenn ich stattdessen eine schleife baue, die viele rects zeichnet, werden alle dargestellt. ![]() @ simi ja, natürlich ![]() an der endlosschleife kanns aber nicht liegen - denn die ist ja gewollt und funktioniert auch nicht nur hier, sondern auch an anderer stelle. @ me irgendwie gelingt es bei b+ manchmal einfach so, objekte darzustellen, ohne dass der backbuffer verwendet wird, und manchmal eben nicht. dann sollte man einfach FLIP verwenden - und schon funxts... @ all thnx ![]() |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
das liegt an deinem Fenstermodus, da Windows das zum teil steuert!
Wenn das ganze im Vollbild läuft (Graphics 800, 600, 16, 1)siehst du erst was wenn Space gedrückt wird! |
||
[BB2D | BB3D | BB+]
|
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group