kleine frage
Übersicht

Takashi KenshinBetreff: kleine frage |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
würdest Du bitte die Codetags beim posten von Code nutzen ? macht das viel übersichtlicher. Danke. ![]() 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 |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ Dottakopf:
Natürlich ist es keine Plicht ![]() 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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group