kleine frage

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen

 

Takashi Kenshin

Betreff: kleine frage

BeitragDi, Sep 25, 2007 21:23
Antworten mit Zitat
Benutzer-Profile anzeigen
so hallo. ehm ich bin gerade ein bischen am ausprobieren und hab ein kleines bildche mit inspiration von dem bb tutorial gezaubert und wollt jetzt mal wissen wie ich das gelbe ufo von links nach rechts bewegen kann und dann wieder zurück kommen lassen kann ohne das diese bunten beamstrahlen vom haus abweichen?

Graphics 1280, 1024
SetBuffer BackBuffer()

For zaehler = 1 To 10000
x = Rnd(0, 1280)
y = Rnd(0, 600)

Plot x, y
Next

Color 255,0,0
Text 500, 100, "Ist das nicht ein schöner Himmel?"
Color 255,255,255
Oval 200, 100, 150 ,150

Line 500, 1000, 750, 1000
Line 500, 1000, 500, 800
Line 750, 1000, 750, 800
Line 500, 800, 750, 800
Line 500, 800, 625, 700
Line 750 , 800, 625, 700
Rect 610, 910, 40, 91, 0
Rect 550, 850, 40, 40, 0
Rect 660, 850, 40, 40, 0

Color 255, 255, 0
Oval 600, 200, 150, 50, 1
x_anfang# = 675
y_anfang = 250
breite = 1
hoehe# = 1

Repeat
x_anfang# = x_anfang# -1.25
y_anfang = y_anfang + 5
breite = breite + 2
hoehe# = hoehe# + 1.0
Color Rnd (30, 255), Rnd (30, 255), Rnd (30, 255)
Oval x_anfang#, y_anfang, breite, hoehe#, 0
Until y_anfang > 1000

WaitKey
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.

BladeRunner

Moderator

BeitragDi, Sep 25, 2007 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
würdest Du bitte die Codetags beim posten von Code nutzen ? macht das viel übersichtlicher. Danke. Wink

EDIT: Du setzt den Backbuffer, nutzt ihn aber nicht (ql:flip).
Wenn Du eine Bewegung haben willst musst du alles in einer Schleife laufen lassen und die Dinge die sich bewegen bei jedem schleifendurchlauf an neuen Koordinaten einzeichnen lassen. Variablen sind hier der Schlüssel um sich zu merken was wohin kommt.
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

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Sep 25, 2007 21:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Um ein Objekt hin und ger zu bewegen brauchst du eine Positionsvariable als auch eine Rictungsvariable. Das ganze kann so aussehen:

Code: [AUSKLAPPEN]
Graphics 400,300,0,2
SetBuffer BackBuffer()

xspeed=1


While Not KeyHit(1)
   x=x+xspeed
   If x>400 Then xspeed=-1
   If x<0 Then xspeed=+1
   Rect x-3,100,7,7,1
   Flip
   Cls
Wend
End
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

Takashi Kenshin

BeitragDi, Sep 25, 2007 21:51
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm.. hab jetzt mal versucht mein "ufo" in den code oben zu integrieren jetzt gab es aber ein paar probleme:
1. es ist ein zweites owal erschienen anstatt das vorhandene zu benutzen
2. es hat sich nichts bewegt
3. das neue owal wurde langgezogen ohne die ursprüngliche form beizubehalten
4. die beamstrahlen sind verschwunden
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Sep 25, 2007 22:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Du solltest dir mal ql:Backbuffer und vor allem ql:Cls und ql:Flip mal anschauen. Du musst den Bildschirm nach jedem zeichnen wieder löschen, um neue Positionen einzeichnen zu können. Eines vorweg: Deine Beamstrahlen per Oval und grad im Modus 0 werden enorm an den Rechnerrecourcen zerren.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

BladeRunner

Moderator

BeitragDi, Sep 25, 2007 22:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Und auch das ist wichtig: Du musst jedesmal ALLES neu zeichnen, nicht nur die Dinge die sich bewegen.
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

Dottakopf

BeitragMi, Sep 26, 2007 8:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaube das tut zu kennen das du gemacht hast... des hört da dan einfach auf.


Vielleicht hilft dir das weiter. Vom prinzip her genau das was du brauchst, aber umsetzten und verstehen muss du es logischer weise selbst.

kannst ja mal in bb einfügen.

Code: [AUSKLAPPEN]

Graphics 800,600,16,2
SetBuffer BackBuffer()

;Variablen festlegen(für bewegung)
Global box_x = 300                 ;x koordinate der box auf bildschirm
Global box_y = 200                 ;y koordinate der box auf bildschirm



Repeat                        ;<--- eine schleife wird gestartet
Cls



If KeyDown(203) Then box_x = box_x -1    ;bei peiltaste links, box_x wert kleiner machen
If KeyDown(205) Then box_x = box_x +1    ;bei peiltaste rechts, box_x wert Größer machen




Rect box_x,box_y,50,20,1              ;die box malen, x koordinate und y koordinate




Flip                          ;da du backbuffer verwendest(oben) musst du flippen
Until KeyHit(1)               ;bei ESC wird schleife beendet


Aber auf jeden fall solltest du das hier mal durcharbeiten: (ich behaupte,dass den jeder gemacht hat)
http://www.blitzbase.de/tutorials/rob_1.htm

Das ist ja eigentlich schon pflicht ??

mfg Dottakopf

BigMaexle

BeitragMi, Sep 26, 2007 13:09
Antworten mit Zitat
Benutzer-Profile anzeigen
@ Dottakopf:

Natürlich ist es keine Plicht Very Happy

Ich z.B. hab in der Schule an einem Informatik-Kurs mitgemacht und daher das Programmieren gelernt. Mit Robs Kurs hab ich mich ehrlich gesagt noch nie selbst beschäftigt, weil ich die GRundlagen schon beherrschte. Und ein realer Kurs ist auch viel besser für den Anfang. Mit Lehrer lernt man sowas viel einfacher auch die Grundlagen des Programmieren selber, es hat nur halt was gekostet. Aber an kostenlosen Lernmöglichkeiten ist Robs BB-Kurs einfach das beste
--------------------------------------
Ich bin unfreiwillig ein Mitglied dieser kapitalistischen Gesellschaft, wo jeder Geldgeile Unternehmer an mein Geld will und ich selbst bei meinen Entscheidungen so gut wie willenlos bin...... und ich bin glücklich drüber
 

Takashi Kenshin

BeitragMi, Sep 26, 2007 17:30
Antworten mit Zitat
Benutzer-Profile anzeigen
OK, das bewegen funktioniert schon mal ich habe ausprobiert, einen sternenhimmel zu erstellen und eine weiße kugel drüberflitzen zu lassen. nur leider verschwindet der sternenhimmel wieder wenn die weiße kugel kommt.
wie muss ich das machen, das der himmel bleibt und die weiße kugel über den bildschirm flizt?
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.

BladeRunner

Moderator

BeitragMi, Sep 26, 2007 17:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Alles in derselben mainloop zeichnen.
also:
PSEUDO-Code: [AUSKLAPPEN]
repeat
    male_sterne()
    male_kugel()
    frage_steuerung_Ab()
    Bewege_kugel()
flip
cls
until keyhit(1)
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
 

Takashi Kenshin

BeitragMi, Sep 26, 2007 17:40
Antworten mit Zitat
Benutzer-Profile anzeigen
ja funktioniert, nur leider bewegen sich durch das "repeat" natürlcih auch die sterne.
und das ist dann etwas das ich nicht wollte.
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.

BladeRunner

Moderator

BeitragMi, Sep 26, 2007 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
dann musst Du die Position der Sterne speichern. Du könntest sie zB in einem Array festhalten, das einmal ganz zu Beginn befüllen und dann in der Repeat nur noch den Inhalt malen lassen.
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
 

Takashi Kenshin

BeitragMi, Sep 26, 2007 17:59
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe nun die sterne in einem array gespeichert und habe dann in der schleife nur noch "plot x, y" für die sterne stehen
jetzt ist es so das zuerst die sterne kommen und dann nur noch ein einziger punkt und eben der rasende ball.
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.

BladeRunner

Moderator

BeitragMi, Sep 26, 2007 18:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Plot x,y bringt alleine nix- du musst in einer verschachtelten forschleife alle punkte auslesen und zeichnen, so wie du sie auch ins array speicherst.
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
 

Takashi Kenshin

BeitragMi, Sep 26, 2007 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
wo kann ich denn das mit der verschachtelten for schliefe lernen? bei robs bb kurs find ich dazu nix.
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.

BladeRunner

Moderator

BeitragMi, Sep 26, 2007 18:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Gegenfrage: wie speicherst Du denn die Punkte im array ?
Poste doch mal deinen Code.
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
 

Takashi Kenshin

BeitragMi, Sep 26, 2007 18:16
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habs jetzt noch mal anders ausprobiert aber jetzt bin ich wieder da das sich die sterne bewegen und auch nicht alle da sind. : Code: [AUSKLAPPEN]
Graphics 640, 480
SetBuffer BackBuffer()

For zeahler = 1 To 1000
   x = Rnd(640)
   y = Rnd(480)
   Plot x, y    
   
   x_anfang = (x_anfang + 1)
   y_anfang = (y_anfang + 0)
   Oval x_anfang +0, y_anfang +200, 20, 20, 1
   Flip
   Cls
   Next
   

WaitKey
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.

BladeRunner

Moderator

BeitragMi, Sep 26, 2007 18:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wo ist da das array ?
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
 

Takashi Kenshin

BeitragMi, Sep 26, 2007 18:25
Antworten mit Zitat
Benutzer-Profile anzeigen
ok jetzt bin ich mir nicht mehr sicher ob ich das aus robs bb tutorial verstanden habe.
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.

BladeRunner

Moderator

BeitragMi, Sep 26, 2007 18:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, man nehme ein array:

Code: [AUSKLAPPEN]
Dim sterne (999,1)


Weshalb 999, weshalb 1 ?
Arrays beginnen bei 0, also haben wir hier eines mit 1000 (0-999) mal 2 (0-1) Feldern.

In die (X,0)-Felder schreiben wir die x-Koordinate eines Punktes, in die (x,1) die y-Koordinate.
Also können wir von 1000 Sternen die Position speichern.

Code: [AUSKLAPPEN]
for i = 0 to 999
    sterne(i,0) = rand(640)
    sterne(i,1) = rand(480)
next


So werden die Punkte gespeichert. Das auslesen machst Du nun bitte, es geht analog dazu. Braucht nichtmal eine verschachtelte Schleife, das Ganze.
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

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group