Nur 1 figur bewegbar?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Ghost

Betreff: Nur 1 figur bewegbar?

BeitragSo, Feb 10, 2008 19:01
Antworten mit Zitat
Benutzer-Profile anzeigen
moin ich bin noch sogenannter "noob" im bb programmieren aber bin schon mal dazu gekommen dass ich meine figuren mit den tasten bewegen kann.
ich wollte eine art fangis machen und weil ich dazu 2 bewegliche figuren brauche hab ich beide gemacht.
ich hab zuerst beide figuren einzeln gemacht und nachher 1 teil in den anderen kopiert. (übersichtshalber) einzeln kann ich beide figuren perfekt bewegen. aber nachdem ich 1 code in die hauptversion kopiert habe, kann ich nur 1 figur bewegen.
Code: [AUSKLAPPEN]
Graphics 640,480,16,1
;player1-------------------------
SetBuffer BackBuffer()
player=LoadImage("C:\Documents and Settings\Vlad\Desktop\My Pictures\smily.bmp")

   player_x=550
   player_y=100

While Not KeyDown(1)


   If KeyDown(200) ;nach oben
   
       player_y=player_y-10
   If player_y<0 Then player_y=0
   EndIf
   
   ;;;;;;;;;;;;;;;;;;;;;;;;
   
   If KeyDown(208)  ;nach unten
   
       player_y=player_y+10
   If player_y>450Then player_y=450
   
   EndIf
   ;;;;;;;;;;;;;;;;;;;;;;;;
   
   If KeyDown(203)   ;nach links
   

      player_x=player_x-10
      If player_x<0 Then player_x=0
      
   EndIf
   ;;;;;;;;;;;;;;;;;;;;;;;;
   
   If KeyDown(205)   ; nach rechts
   
      
      player_x=player_x+10
      If player_x>604 Then player_x=604
   
   EndIf
   ;;;;;;;;;;;;;;;;;;;;;;;;

   Cls
   

   DrawImage player,player_x,player_y
   
   Flip
   
;--------------------¨
;player 2-------------------------


SetBuffer BackBuffer()
player2=LoadImage("C:\Documents and Settings\Vlad\Desktop\My Pictures\smily2.bmp")
player2_x=100
player2_y=400


    If KeyDown(17)
   
       player2_y=player2_y-10
   If player2_y<0 Then player2_y=0
   EndIf
   
   ;;;;;;;;;;;;;;;;;;;;;;;;
   
   If KeyDown(31)
   
      player2_y=player2_y+10
   If player2_y>450Then player2_y=450
   
   EndIf
   ;;;;;;;;;;;;;;;;;;;;;;;;
   
   If KeyDown(30)
   
       player2_x=player2_x-10
    If player2_x<0 Then player2_x=0
      
   EndIf
   ;;;;;;;;;;;;;;;;;;;;;;;;
   
   If KeyDown(32)
   
       player2_x=player2_x+10
   If player2_x>604 Then player2_x=604
   
   EndIf
   ;;;;;;;;;;;;;;;;;;;;;;;;
    Cls


    DrawImage player2,player2_x,player2_y
   
   Flip

;---------------------



Wend
End

ich aknn nur den player 1 mit den pfeiltasten bewegen.
den player2 kann ich nur ca 1 cm vom fleck rühren (tasten w,a,s,d)
ich habs ca 20 mal durchgelesen aber keinen fehler entdeckt?
pls help Confused
wenn ihrs selberprobieren wollt ersetzt meine 2 spielfigur durch eigene pics von eurem pc damit das programm nicht sagt dass komischerweise meine fotos nicht auf eurem pc sind Rolling Eyes

greez.. help please Crying or Very sad
Das ist keine Lüge sondern eine sachzwangreduzierte Ehrlichkeit.
----
Anakin: " Was für eine Lichtschwertform habt ihr da eigentlich benutzt, Meister? "

Obi Wan: " Form? Es war wohl eher ein Mangel an Form. "

the FR3AK

BeitragSo, Feb 10, 2008 19:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Du definierst ja die Player2_X und Y Variable in der Schleife immer wieder auf 500 oder so die kann sich ja net verändern Wink

Machs vor die Schleife dann müsste das funktionieren

Ghost

BeitragSo, Feb 10, 2008 19:27
Antworten mit Zitat
Benutzer-Profile anzeigen
thxvm jetzt kapier ichs
Das ist keine Lüge sondern eine sachzwangreduzierte Ehrlichkeit.
----
Anakin: " Was für eine Lichtschwertform habt ihr da eigentlich benutzt, Meister? "

Obi Wan: " Form? Es war wohl eher ein Mangel an Form. "

Goodjee

BeitragSo, Feb 10, 2008 19:51
Antworten mit Zitat
Benutzer-Profile anzeigen
du lädst in der schleife bilder....macht man nicht
du setzt in der schleife variablen,m die sich eigentlich ändern sollten zurück...unfug
und du setzt in der scchleife den buffer auf backbuffer...auch unsinn

aba ansonsten stimmt das glaube ich so
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Ghost

BeitragMo, Feb 11, 2008 12:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Goodjee hat Folgendes geschrieben:
du lädst in der schleife bilder....macht man nicht
du setzt in der schleife variablen,m die sich eigentlich ändern sollten zurück...unfug
und du setzt in der scchleife den buffer auf backbuffer...auch unsinn

aba ansonsten stimmt das glaube ich so

danke das habe ich auch geändert. jetz will ich dass das programm auf eine kollision reagiert.. z.b. sich beendet. aber als ich das mit der kollision reinbrachte, machte es das fenster automatisch zu, ohne auf die kollision zu warten. wie müsste ich die kollisionsregel reinbringen?

greez
Das ist keine Lüge sondern eine sachzwangreduzierte Ehrlichkeit.
----
Anakin: " Was für eine Lichtschwertform habt ihr da eigentlich benutzt, Meister? "

Obi Wan: " Form? Es war wohl eher ein Mangel an Form. "

Dottakopf

BeitragDi, Feb 12, 2008 16:24
Antworten mit Zitat
Benutzer-Profile anzeigen
vielleicht kannst du dich beim programieren an so eine art grund strucktur halten. Also die varriert von programierer zu programierer aber so in etwa sollte es aussehen.

Code: [AUSKLAPPEN]

Graphics 800,600,16,2
setbuffer backbuffer()


;GLobale Varriablen festlegen


;Constanten festlegen


;grafiken ,sound usw.. laden



;arry  definieren


;types


;includes


;so und jetzt gehts los
Repeat
cls


     <anweisung>
     <anweisung>
     ;du kannst dir auch funktionen anschauen..
     
   


flip
until keyhit(1)
;ab hier endet eigentlich das programm aber -->


;hier kommen dan u.a. (sovern vorhanden) funktionenen rein
;aber nichts mehr das sich wiederholten muss z.b. ein bild zeichnen oder so


Viele programierer benützen auch eine "maske" .. einfach ein projekt ladem in dem scho so grund elemente drin sind.... grafikmodus gesetzt und die Hauptschleife ... und evt ein fps zähler mit drin.


wegen dieser kollisionsregel.
wie sieht na die aus ?

Code: [AUSKLAPPEN]

If imagescollide(bild1,x,y,fram,bild2,x,y,frame) then END


wenn du einfach nur ein end hast.. dan ist es ja klar das bei kollision das program ohne nachricht abbricht^^ .. vll hilft ein waitkey() und ein print

mfg Dottakopf
Rechtschreibfehler gelten der allgemeinen Belustigung!

Ghost

BeitragDi, Feb 12, 2008 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die Struktur.
Wegen dem kollidieren:
Das was du gepostet hast hab ich ja versucht...
Aber ich kapier nicht was ich bei x,y eingeben muss?

-.- xD so dumm bin ich auch wieder nicht. Bei meinem 1. Versuch hatte ich
Arrow if imagescollide....then print "au!"
aber als ich das Programm startete, stand schon oben links "Au!" obwohl meine Figuren sich gar nciht berührten..
dann machte ich statt print => end.. und kaum habe ich das programm gestartet, beendete es sich selber Confused


greez
Das ist keine Lüge sondern eine sachzwangreduzierte Ehrlichkeit.
----
Anakin: " Was für eine Lichtschwertform habt ihr da eigentlich benutzt, Meister? "

Obi Wan: " Form? Es war wohl eher ein Mangel an Form. "

Dottakopf

BeitragDi, Feb 12, 2008 23:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Das liegt daran das deine kollison immer 1 also true zurückgibt.

Wie du verstehst nicht was du bei x,y eingeben musst ? Rolling Eyes
Ja etz aber nochmal robsite drucharbeiten aber hop hop.

vom prinzip funtz dat so

Code: [AUSKLAPPEN]


hero = loadimage
Stein = laodimage


if imagescollide(hero,  hero_x_pos, hero_y_pos , hero_einzelbild , Stein, Stein_x , usw)



wenn das bild keine animation hat gibts du für das hero_einzelbild einfach 0 an und für den stein auch.

mfg Dottakopf
Rechtschreibfehler gelten der allgemeinen Belustigung!

Ghost

BeitragMi, Feb 13, 2008 13:34
Antworten mit Zitat
Benutzer-Profile anzeigen
xD jasooo.. Very Happy
also keine feste koordinaten wo sie kollidieren müssen.. ok das wär auch blöd..
aber auf robsite unter kollisionen stenht nirgends was man unter x,y eingeben soll.. aber danke für hilfe..


greez Very Happy
Das ist keine Lüge sondern eine sachzwangreduzierte Ehrlichkeit.
----
Anakin: " Was für eine Lichtschwertform habt ihr da eigentlich benutzt, Meister? "

Obi Wan: " Form? Es war wohl eher ein Mangel an Form. "

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group