Gravitar???

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

pokop

Betreff: Gravitar???

BeitragMo, Feb 23, 2004 12:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich brauche diesen Befehl, hab schon die ganze Onlinehilfe durchgekuckt, aber ich find das teil nicht, und ich will ein programm bei dem man eine Fliege hat, die man hoch fliegen lassen kann und die dann wieder nach unten gleiten.
http://www.abandonia.com/

--->Nikola Tesla<---

Jolinah

BeitragMo, Feb 23, 2004 12:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaube nicht das es so einen Befehl gibt Wink

Musst du dir selber was programmieren.

Aber Schwerkraft zu simulieren ist nicht so schwer (zumindest wenn man es nicht so genau nimmt).

Edit:

Code: [AUSKLAPPEN]

Graphics 800,600,0,2

fliege = CreateImage(20,10)
SetBuffer ImageBuffer(fliege)
Color 255,0,0
Oval 10,5,10,5

SeedRnd MilliSecs()
timer = CreateTimer(60)

SetBuffer BackBuffer()

x# = 20.0
y# = 300.0
gravity# = 1.0
flugtimer = 0

Repeat
WaitTimer(timer)
Cls


;Soll halt bisschen den flügelschlag einer fliege simulieren *g*
If MilliSecs() > flugtimer
   y# = y# - Rnd(0.2,1.7)
   flugtimer = MilliSecs() + Rand(5,10)
EndIf

;Fliege vorwärts bewegen.
x# = x# + 2

;Schwerkraft abziehen
y# = y# + gravity#


DrawImage fliege,x#,y#


Flip
Until KeyHit(1)

FreeImage fliege

End


Vielleicht kannst du damit was anfangen. Ist mir auch nicht so gelungen aber so ähnlich könnte man es machen.

Hubsi

BeitragMo, Feb 23, 2004 12:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Den Befehl gibts auch bei BB nicht (ob den überhaupt eine Sprache hat weiß ich allerdings auch nicht). Aber sowas ist schnell selbst gecodet. Beispiel:
Code: [AUSKLAPPEN]
Graphics 640,480,16,2
SetBuffer BackBuffer()
Local gravi#,playerx=310,playery
Const maxdownstep#=6.0,maxupstep#=-3.0,upstep#=0.15,downstep#=0.33

Repeat
  Cls
  ; Eingabe auswerten
  If KeyDown(200) And gravi>maxupstep
    gravi=gravi-upstep
  ElseIf gravi<maxdownstep
    gravi=gravi+downstep
  EndIf
  ; Spieler bewegen und Randüberschreitung prüfen
  playery=playery+gravi
  If playery>470 Then playery=470:gravi=0.0
  If playery<0 Then playery=0:gravi=0.0
  ; Spieler auf den Schirm pinseln
  Oval playerx,playery,10,10,0
  Flip
Until KeyHit(1)
End
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

pokop

BeitragMo, Feb 23, 2004 13:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, ich glaube ich werde beides brauchen, das erste für den Intro und das zweite für das Spiel. Aber wieso kann ich hier meine Fliege nicht sehen:
Code: [AUSKLAPPEN]
   If KeyHit(28)   
      If m = 1
         SeedRnd MilliSecs()
         timer = CreateTimer(60)
         x# = 20.0
         y# = 300.0
         gravity# = 1.0
         flugtimer = 0
         Repeat
            WaitTimer(timer)
            Cls
            If MilliSecs() > flugtimer
               y# = y# - Rnd(0.2,1.7)
               Rnd(0.2,1.7)
               flugtimer = MilliSecs() + Rand(5,10)
            EndIf
            x# = x# + 2
            y# = y# + gravity#
            DrawImage bee1,x#,y#
            Flip
         Until KeyHit(1)
      EndIf


Die Fliege hab ich davor geladen.(das Bild)
http://www.abandonia.com/

--->Nikola Tesla<---

sidolin

BeitragMo, Feb 23, 2004 13:08
Antworten mit Zitat
Benutzer-Profile anzeigen
weil deine hauptschleife nur ausgeführt wird wenn KeyHit(28) true ist.

pokop

BeitragMo, Feb 23, 2004 13:12
Antworten mit Zitat
Benutzer-Profile anzeigen
ÄÄÄÄHHHMMMMMM ja, ich glaub heut steh ich auf der Leitung, was soll ich dagegen machen?
http://www.abandonia.com/

--->Nikola Tesla<---

sidolin

BeitragMo, Feb 23, 2004 13:14
Antworten mit Zitat
Benutzer-Profile anzeigen
ganz von vorne anfangen, mit einfachen kleinen programmen, die die basics der blitz-programmierung wiedergeben. Very Happy
zb.:
- wie erstellt man funktionen
- wie sieht eine haupt-schleife aus
- was sind variablen
usw

pokop

BeitragMo, Feb 23, 2004 13:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich sag doch ich steh auf der Leitung, ich hab überhaupt keinen blassen schimmer, was du willst. Sad
http://www.abandonia.com/

--->Nikola Tesla<---

Jolinah

BeitragMo, Feb 23, 2004 13:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du denn weiter oben Graphics gemacht? ich denke schon.

Und läuft der Code Ausschnitt den du da hast bereits in irgendeiner Schleife?

Den Timer brauchts nur 1 mal im Spiel.
Seedrnd sollte auch ganz am Anfang deines Spiels nur 1 mal stehen, sonst an keiner anderen Stelle mehr.

Code: [AUSKLAPPEN]

;Dein Code....

Graphics x,y,bit,modus
SetBuffer BackBuffer()

Seedrnd millisecs()
timer = CreateTimer(60)

Repeat
  Waittimer(timer)
  Cls

  ......

  If KeyHit(28)
    if m = 1 and draw_fliege = 0
      draw_fliege = 1  ;1 = Fliege zeichnen, 0 = Nicht zeichnen

      ;Ein teil meines codes

      x# = 20.0  ;Startpos der fliege setzen
      y# = 300.0
      gravity# = 1.0 ;Schwerkraft setzen
      flugtimer = 0 ;Timer zurücksetzen
    elseif m = 2
      .....
    endif
  Endif

  ;Der andere Teil meines codes

  If draw_fliege = 1
    If millisecs() > flugtimer
      y# = y# - rnd(0.2,1.7)
      flugtimer = Millisecs() + rand(5,10)
    endif

    x# = x# + 2
    y# = y# + gravity#

    DrawImage bee1,x#,y#
  Endif

  ;Rest deines Codes.....
  .....

  Flip
Until Keyhit(1)


So ungefähr, falls du schon ne Schleife hast.

pokop

BeitragMo, Feb 23, 2004 13:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann es sein, das du BlitzPlus hast? Bei mir geht das nicht.
http://www.abandonia.com/

--->Nikola Tesla<---

Jolinah

BeitragMo, Feb 23, 2004 13:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein.. ich hab Blitz3d.

Ich kann dir natürlich auch nicht genau sagen wie du es in dein Programm einbauen musst. Das solltest du schon selber wissen. Das da oben war nur ne Möglichkeit. Der erste code war halt einfach von Anfang an wenn man sonst noch kein Programm hat..

Sollte eigentlich nicht so schwer einzubauen sein in dein Programm.
Man muss halt immer nach dem selben Prinzip vorgehen. Es gibt eine Hauptprogramm Schleife in der alles gezeichnet wird. Manche machen es auch mit mehreren Funktionen wo dann das ganze Programm sozusagen in der Funktion drin ist. Jedenfalls muss alles was in meiner Repeat Schleife ist auch in deine Schleife irgendwo rein. Und alles was ausserhalb meiner Schleife ist, auch ausserhalb deiner Schleife...

Hubsi

BeitragMo, Feb 23, 2004 19:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich empfehle Dir Robs Tutorial runterzuladen und das Teil ganz von vorne an durchzuarbeiten. Das ist wirklich gut un Du bleibst nicht mehr an solchem Kinderkram hängen Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

pokop

BeitragMo, Feb 23, 2004 19:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Robs TUT 1 oder 2?
http://www.abandonia.com/

--->Nikola Tesla<---

BladeRunner

Moderator

BeitragMo, Feb 23, 2004 20:15
Antworten mit Zitat
Benutzer-Profile anzeigen
egal welcher Teil...
lad Sie runter und arbeite sie durch. Und Renés Buch kann man auch empfehlen. Und viel üben.
Du wirst nichts lernen wenn du dir immer die Lösungen von anderen machen lässt.
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

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group