Springen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Springen

Beitrag von Alves »

Also ich hab hier so einen Code mit dem mein SPrite sozusagen "springen" soll. Aber wenn ich Space drücke, passiert nichts.

Code: Alles auswählen

If KeyboardPushed(#PB_Key_Space)
    Mann_y - 1
    Mann_y - 1
    Mann_y - 1
    Mann_y - 1
    Mann_y - 1
    Mann_y - 1
    Mann_y - 1
    Mann_y - 1
    Mann_y - 1
    Mann_y - 1
    Mann_y + 10          
  EndIf         
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

weil das alles direkt hintereinander passiert.
am ende des Ifs hat Y den gleichen wert wie vorher, deshalb sieht man nix...
du musst so einen vorgang so ansetzen, das jeder schritt in nem einzelnen frame passiert...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag von Alves »

Türlich wie kannman nur so blöd sein?!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

kein problem... denkfehler passieren.. ;)

nochn tip:
probiers mit nem sinus, dann sieht der sprung nich so eckig aus..
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag von Alves »

Sinus, da bin ich überfragt. :cry:
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

kleine demo...

Code: Alles auswählen

Pi.f = 3.14159265

InitSprite()
InitKeyboard()
OpenScreen(800,600,32,"sinusdemo")

Repeat

    ExamineKeyboard()
    ClearScreen(0,0,0)

    Kreis_X +1
    If Kreis_X > 180
       Kreis_X = 0
    EndIf

    Kreis_Y = 200 * Sin( Kreis_X * Pi / 180 )

    StartDrawing(ScreenOutput())
        FrontColor(128,0,255)
        Circle( 50 + Kreis_X, 500 - Kreis_Y, 12 )
    StopDrawing()

    FlipBuffers()

Until KeyboardPushed(#PB_Key_Escape)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
inti
Beiträge: 90
Registriert: 01.02.2006 17:25

Beitrag von inti »

Alves, wenn du gerade erst beim erlernen deiner ersten programmiersprache bist und noch keine erfahrung mit dem programmieren von spielen hast bzw wie diese strukturiert sein sollten dann ist ein jump'n'runs schon ziemlich viel für den anfang. es gibt allerdings einige kleinere spielideen die sind sehr leicht umzusetzen sind und dabei noch einfacher als pong, bringen aber einen sehr großen lerneffekt und jede menge fun für deine umwelt! :allright:

(m)ein project-vorschlag für dich:
  • schritt 1.
    eine figur läßt sich am unteren bildschirmrand hin und her bewegen (simple, oder?)

    schritt 2.
    ein "gegenstand" fällt ständig von oben herab - mit zufälliger position, das läßt sich noch mit 3 variablen lösen (x, y, speed)

    Code: Alles auswählen

    ;ausgehen von einer screengröße von 640x480 und einer größe von 20x20
    y + speed
    if y > 480
       y = -20 
       x = random 640-20)
    endif
    
    schritt 3
    die figur und den gegenstand auf kollision überprüfen. bei einer kollision eine variable für punkte hochzählen und diese darstellen. fälle der gegenstand jedoch nach unten raus dann eine zweite variable für leben runterzählen und ebenfalls darstellen. sind alle leben verbraucht dann punkte = 0 und leben wieder auf startwert.

    schritt 4.
    ab einer bestimmten punktezahl denn fall-speed erhöhen

    usw... verschiedene objekte, mehre objekte gleichzeitig die unterschiedlich schnell fallen... usw...
das klingt sehr einfach aber man lernt dabei ohne sich gleich mit 'nem jump'n'run zu übernehmen und springen kann man ja auch noch einbauen falls man sich später für hindernisse (zb bärenfallen :twisted:) entscheidet! :wink:

übrigens läßt sich so ein spiel wunderbar thematisieren (zb fange nur gegenstände mit den cd-cover der musik-gruppe XXX, bei gegenständen von musik-gruppe YYY gibts punktabzug oder lebensverlust, bringt bei deinen freunden sicher spass bei der punktejagd! :lol:)
Benutzeravatar
Milchshake
Beiträge: 166
Registriert: 30.01.2006 17:47
Wohnort: Zwischen dem Sessel und dem Computer

Beitrag von Milchshake »

Wie wär mit:
GreenDay + 5
System of a down + 10
Tokio Hotel - 20

Wär doch lustig für alle ANTI Tokio Hotels :mrgreen:
Hab jetzt PB 4.02
Muhahaha!!!!
Benutzeravatar
AndyX
Beiträge: 1272
Registriert: 17.12.2004 20:10
Wohnort: Niederösterreich
Kontaktdaten:

Beitrag von AndyX »

o_O

System Of A Down 4 Ever! :mrgreen:
Tokio Hotel 4 Never! :twisted:
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Beitrag von Mok »

GreenDay.......................: Bild
System of a Down..........: Bild
Robbie Williams...............: :|
Mattafix..........................: Bild
GilD.................................: Bild

Tokio Hotel...........: Bild
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Antworten