Pixel Steuern
Übersicht BlitzBasic Beginners-Corner
Raiden93Betreff: Pixel Steuern |
Sa, März 20, 2010 19:13 Antworten mit Zitat |
|
---|---|---|
Hallo ich möchte das ich meinen Pixel nach oben unten rechts oder links steuern kann nur leider funktioniert das nicht.
Code: [AUSKLAPPEN] Graphics 400,300,32,0 SetBuffer BackBuffer() SeedRnd MilliSecs() l = 200 i = 200 Plot l, i For KeyDown (1) l - 1 Next End |
||
XeresModerator |
Sa, März 20, 2010 19:20 Antworten mit Zitat |
|
---|---|---|
Am besten arbeitest du die Standard Tutorials durch, Siehe Tipps für Neueinsteiger und BlitzFAQ und/oder stöbere in dem Unterforum FAQ und Tutorials. | ||
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 THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Raiden93 |
Sa, März 20, 2010 19:21 Antworten mit Zitat |
|
---|---|---|
Ich habe es mal überarbeitet aber er schliest das Programm gleich wieder.
Code: [AUSKLAPPEN] Graphics 400,300,32,0 SetBuffer BackBuffer() SeedRnd MilliSecs() l = 200 i = 200 Plot l, i If KeyDown (87) l =- 1 End If |
||
da_poller |
Sa, März 20, 2010 19:22 Antworten mit Zitat |
|
---|---|---|
wie xerxes schrieb. schau dir die grundlagen an. (robs bb kurs ist sehr zu empfehlen) danach sollte das pixel programm kein problem mehr sein. | ||
count-doku |
Sa, März 20, 2010 19:44 Antworten mit Zitat |
|
---|---|---|
Hi,
du musst schon den Pixel immer neu zeichnen, halt jeweils an der neuen Position. BlitzBasic: [AUSKLAPPEN] Graphics 400,300,0,2 Wenn du den Code nicht verstehst frag! Ansonsten würde ich dir empfehlen die Tuts durchzuarbeiten, ein gutes: http://de.wikibooks.org/wiki/B...y-Tutorial mfg, count-doku PS. Willkommen im Forum |
||
M2M |
Sa, März 20, 2010 19:51 Antworten mit Zitat |
|
---|---|---|
Dein Code an sich stimmt, jedoch enthält dein Programm keine Hauptschleife! Es wird einfach Zeile für Zeile durchgearbeitet, dannach wird das Programm (erfolgreich) beendet. Eine Hauptschleife verhindert das automatische Beenden, indem es Anweisungen innerhalb solange wiederholt, wie die angegebene Bedingung wahr ist.
Bedindungen können zB sein: solange nicht die Escape-Taste gedrückt wurde (not keyhit(...)) solange das Programm nicht durch den X-Knopf geschlossen wird solange eine beliebige Variable einen bestimmten Wert hat (zB run = 1) Eine Hauptschleife kannst du uA mit While-Wend oder auch Repeat-Until/Forever bilden. Beispiele: Code: [AUSKLAPPEN] While Not KeyHit(1)
hier ist Platz für deine Anweisungen ( Grafikbefehle, Berechnungen, Tastaturabfragen, usw) Wend oder Code: [AUSKLAPPEN] Repeat
Anweisungen Until keyhit(1) Code: [AUSKLAPPEN] Repeat
Anweisungen If KeyHit(1) then End Forever Und nochmal konkret auf dein "Spiel" zugeschnitten Code: [AUSKLAPPEN] Graphics 400,300,32,0 SetBuffer BackBuffer() SeedRnd MilliSecs() l = 200 i = 200 While Not Keyhit(1) Cls Plot l, i If KeyDown (87) l =- 1 End If Flip Wend Cls steht für ClearScreen, löscht also den Bildschirm. Das ist notwendig, vor Allem wenn Bewegung im Spiel ist. Da du den Pixel ja ständig an eine andere Stelle schiebst, muss er auch wieder an dieser neuen gezeichnet werden. Es muss also "der alte Pixel gelöscht werden", neu berechnet werden und anschließend an seiner neuen Position gezeichnet werden. Der Wechsel geschieht mit Flip. Ich hoffe ich konnte dir eine kleine Hilfe geben, am Besten siehst du dir das Ganze nocheinmal genauer an. |
||
Midimaster |
So, März 21, 2010 13:00 Antworten mit Zitat |
|
---|---|---|
Da empfehle ich doch mal mein Tutorial "Programm-Ablauf für Anfänger":
https://www.blitzforum.de/foru...hp?t=33584 |
||
Raiden93Betreff: Lösung |
So, März 21, 2010 13:49 Antworten mit Zitat |
|
---|---|---|
Ich bedanke mich für die guten Tipps ich bin nun mit meinem kleinen Experiment fertig und es schaut so aus.
Code: [AUSKLAPPEN] ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;~~~~~~Raiden~Plot Bewegen~~~~~~ ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Graphics 400,400,32,0 SeedRnd MilliSecs() SetBuffer BackBuffer() z = 200 x = 200 While Not KeyHit(1) Cls Plot z,x ;Links If KeyDown(203) z = z - 1 End If ;Rechts If KeyDown(205) z = z + 1 End If ;Oben If KeyDown(200) x = x - 1 End If ;unten If KeyDown(208) x = x + 1 End If Flip Wend |
||
TimBo |
So, März 21, 2010 13:54 Antworten mit Zitat |
|
---|---|---|
jetzt nur noch CreateTimer ujnd WaitTimer und flip(0) benutzen.
dann ist es perfekt. btw. schau dir mal WritePixelFast an. Ist echt viel schneller Grüße TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
Übersicht BlitzBasic Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group