Figur läuft aus der Karte raus
Übersicht

BassmasterBetreff: Figur läuft aus der Karte raus |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo ich hab folgendes Problem und zwar läuft meine Figur aus der Karte angenommen ich drücke die rechte pfeil taste dann läuft der soweit das ich den nicht mehr sehen kann.
Was muss man machen das der nicht aus meiner Sicht kommt ? |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
Am besten du setzt dich mal mit den Grundlagen der Programmierung auseinander:
www.robsite.de |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Da hab ich mir dieses Jump and Run Tutorial runtergeladen aber da is alles irgendwie nur so knapp erklärt ![]() Code: [AUSKLAPPEN] ;Tutorial 1: Erstellen der Level ;------------------------------- ;In diesem Teil möchte ich erklären, wie Level erstellt und auf den Bildschirm ;gebracht wird. Zusätzlich habe ich noch einige Kommentare zu den Befehlen eingegeben. Graphics 640,480 SetBuffer BackBuffer() frametimer = CreateTimer (30) ;Um das Spiel auf alle Rechnerkonfigurationen gleich schnell laufen ; lassen, sollte man einen Zeitgeber setzen. 25 - 60 sind Empfehlenswert. ClsColor 0, 0, 255 ; Farbe, mit dem der Bildschirm gelöscht wird ;Gfx laden Global tile = LoadImage ("tile2.bmp") MaskImage tile, 255, 0, 255 ;Setzt die transparente Farbe auf Lila ;Kartendaten lesen Dim map (20,15) ;Karte definieren. Da die Karte später nach X und Y Koordinaten gezeichnet wird, ;2 dimensionanes Array Restore mapdata ;Setzt die Datazeilen von mapdata zurück For y=0 To 14 ;Y = 15. Von 0 bis 14 For x=0 To 19 ;X = 20. Read map(x,y) ;Daten auslesen Next Next ;Hauptschleife Repeat Cls ;Bildschirm löschen WaitTimer (frametimer) ;Den gewählten Zeitgeber warten DrawMap() ;Function Drawmap ausführen Flip ;Bildschirm tauschen Until KeyHit (1) End ;Functionen Function DrawMap() For y = 0 To 14 For x = 0 To 19 If map(x,y) = 1 Then ;ist in dem genannten (x,y) Array eine 1 gemerkt, DrawImage tile, x*32, y*32 ;Grafik malen. EndIf Next Next End Function ;Die Koordinaten der Karte werden hier gelesen .mapdata Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ähm..
erstens: Wo wird hier eine SPielfigur gezeichnet? zweitens: Es geht nich darraum, den Code irgendwie auswendig zu lernen oder c&p zu machen.. Du musst ihn verstehen den Werteberreich einer Variable zu begrenzen gehört mit zu dem Primitvsten dingen in der Programmierung. Du musst wissen: - wie du eine variable ausliest - wie du einen if-befehl verwendest - wie du eine variable setzt cu, Smily0412 |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wieso Spielfigur Zeichen 0_o das is net mein Source Code der Code ist aus einem Tutorial von der Robsite hp | ||
![]() |
Mathias-Kwiatkowski |
![]() Antworten mit Zitat ![]() |
---|---|---|
also das sieht aus wie ein RPG code, und auf robsite gibt es mehrere. die ein stück für stück alles erklären, ich habe es selber daraus gelernt, brauchte nur ein wenig hilfe in der umsetzung in blitzmax, mhh such mal nach RPG in diesem forum, da sollten einige hilfen drin sein, ps. deine spielfigur läuft aus dem rand weil du mit sicherheit keine begrenzung drin hast oder die map scrollt nicht mit ![]() |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bassmaster hat Folgendes geschrieben: Hallo ich hab folgendes Problem und zwar läuft meine Figur aus der Karte angenommen ich drücke die rechte pfeil taste dann läuft der soweit das ich den nicht mehr sehen kann.
Bassmaster hat Folgendes geschrieben: Wieso Spielfigur Zeichen 0_o das is net mein Source Code der Code ist aus einem Tutorial von der Robsite hp
Deine Aussage wiederspricht sich. Die Frage stellt sich nun: Was ist dein Problem? Wenn du ein Code mit einer Spielfigur hast, dann zeig uns diesen. Wenn du keinen hast, dann frage danach, wie man es am besten machen könnte, und nicht ''...und zwar läuft meine Figur aus der Karte...''. Um dir denoch eine Hilfestellung zu geben: - Nach deiner Beschreibung hast du bereits eine bewegte Figur. Von daher musst du den Wertebereich der entsprechenden Variable eingrenzen. So wie es Smily0412 schon sagte. - Der Wertebereich kann anhand der Mapdaten errechnet oder auch per ewigen Annäherung angepasst werden. - Im übrigen wird eine Spielfigur i.d.R. gegen eine Wand laufen, als auf freiem Feld abgegrenzt zu werden. Das heisst, du wirst früher oder später sicherlich eine Kollisionsabfrage machen ''müssen'' und somit auf eine Wertebereichseingrenzung verzichten können. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok thx Mathias wenn ich nachher zuhause bin dann add ich dich mal.
@Hectic hier ist mein Source Code Code: [AUSKLAPPEN] Graphics 800,600,32,0 ;bilder laden SetBuffer BackBuffer() Global runner = LoadAnimImage("runner.png" ,48,56,0,12) Global sterne = LoadImage ("sterne.png") Global boden = LoadImage ("boden.png") Global felsen = LoadImage ("felsen.png") MaskImage runner ,255,255,255 MaskImage felsen ,255,255,255 Global move_runner,Player_pos_x ,Player_pos_y controll() ;funktionen Function controll() Repeat ;figur bewegen ;-------------------------------------------------------------------------------------------------------------------------------------------- If KeyDown(203) Then move_runner=move_runner-2 If KeyDown(205) Then move_runner=move_runner+2 ;-------------------------------------------------------------------------------------------------------------------------------------------- ;sterne bewegen ;-------------------------------------------------------------------------------------------------------------------------------------------- If KeyDown(203) Then move_star = move_star +1 If move_star = 200 Then move_star = 1 If KeyDown(205) Then move_star = move_star -1 If move_star = 200 Then move_star = 1 ;rechts laufen ;-------------------------------------------------------------------------------------------------------------------------------------------- ;animation für die figur ;-------------------------------------------------------------------------------------------------------------------------------------------- If KeyDown(203) Then If MilliSecs()-WarteZeit=>100 Then frame=frame+1 If frame=12 Then frame=1 WarteZeit=MilliSecs() If KeyDown(205) Then If MilliSecs()-WarteZeit=>100 Then frame=frame+1 If frame=12 Then frame=1 WarteZeit=MilliSecs() ;------------------------------------------------------------------------------------------------------------------------------------- Cls TileImage sterne,move_star,1 DrawImage runner,move_runner, 514, frame DrawImage felsen, 230,517 DrawImage boden,0,567 Flip Until KeyHit(1) End Function |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jetzt guckst Du dir mal deine Beiden Zeilen an die du zur Bewegung benutzt und sagst mir dann mal was in diesen Zeilen geschieht. Erklär es mir Schritt für Schritt. | ||
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 |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Im Grunde genommen, Bassmaster, musst du ermitteln wann die Figur-X Koordinate grösser oder gleich der x-Grenze des Bildschirms ist.
ql:Graphicswidth() ermittelt die X-Breite deines Grafikfensters. Nun, ist die Figur-x Koordinate grösser oder gleich die X-Breite des Bildschirms, setzt du sie wieder zurück. Das gleiche kannst du mir der Breite 0 machen, nur, genau verkehrt herum. Im allgemeinen wirkt es auf mich, als ob du nicht so gerne selber programmierst und nicht einen starken Durchsetzungswillen hast. Programmieren hat mir fleiss auch was gemeinsam. Man bekommt nicht ein MMORPG vor die Füsse geworfen. ![]() MfG |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group