Map editor probleme
Übersicht

darkiBetreff: Map editor probleme |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo, ich progge schon etwas länger bin aber neu in diesem Forum. Ich bin dabei ein Mapeditor zu proggen, nun habe ich aber noch ein paar fragen.
![]() For x=1 To 11
grafik(x)=LoadImage("tile"+Str$(x)+".bmp") ![]() ![]() ![]() Das waren ale fragen, wäre nett wenn ihr mir helfen könnt, danke. darki |
||
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
Erstamls willkommen hier im Forum.
Zu deinen Fragen: 1. Wie du schon richtig vermutet hast: MaskImage (Halbtransparenz wird von BlitzBasic nicht unterstützt) 2. Animationen lassen sich am besten mit LoadAnimImage realisieren. Bei 3/4 verstehe ich nicht ganz, was du meinst. mfg Cardonic |
||
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. |
joni8a |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Würde mich auch interresieren | ||
darki |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo, danke schon mal für die antworten. Bei 3 meine ich: ein tile ist bei mir 30*30 groß aber eine figur ist ja größer wie kann ich das regeln. Bei 4 meine ich: wenn ich ein schild habe möchte ich es auf stein und auch gras setzen daszu muss ich es transparent machen und auf steine setzen können ohne immer den hintergrund zu ändern | ||
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also die Figur gehört sicherlich nicht in die Tilemap hinein; ich würde die Figur eher als einzelnes Objekt ansehen und einfach die Startposition (x und y koordinaten) speichern.
Falls du dieses Schild halbtransparent haben möchtest, dann musst du dir das selbst programmieren (im Codearchiv wirst du bestimmt etwas finden). mfg Cardonic |
||
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Layer sind das was du wohl suchst. In der Praxis sieht das meist so aus:
Code: [AUSKLAPPEN] Dim map(x_groesse,y_groesse,anzahl_layer)
; Tileset laden, etc. For layer=0 To anzahl_layer For y=startpunkt_y To startpunkt_y+sichtbare_hoehe For x=startpunkt_x To startpunkt_x+sichtbare_breite DrawImage tile(map(x,y,layer)) Next Next Next Es werden also 2 oder mehr Ebenen übereinander gelegt und so lassen sich besondere Objekte (die der Spieler vielleicht auch aufsammeln oder bewegen kann) überall plazieren ohne sich um den Untergrund kümmern zu müssen ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
darki |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo danke für die antwort, aber ich verstehe das noch nicht ganz mit den layer kanst du mir vielleicht ein beispiel proggen, das wäre nett | ||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das mit dem Schild ist mit maskimage kein Problem:
Dein Untergrund wird zuerst gezeichnet. Danach dann das maskierte Schilderbild. Dieses hat eine Hintergrundfarbe (normalerweise nimmt man pink (255,0,255)) welche mit Maskimage transparent gemacht wird, d.h. überall wo Pink ist sieht man den Hintergrund durch. Das "Layern" ist also denkbar einfach: erst unterste Schicht zeichnen lassen, dann die Gegenstände darauf. |
||
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 |
darki |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Muss ich denn die ebene über knopfdruck erhöhern? | ||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie meinen?
Wie Du das bei Deinem Editor zum setzen löst sei Dir freigestellt. In der Speicherung sind es (s.o. bei Hubsie) eben in einem 3Dimensionalen Array gespeicherte Daten die nacheinander ausgelesen und gezeichnet werden. |
||
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 |
darki |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich kann mir folgende passage nicht erklären:
For layer=0 To anzahl_layer For y=startpunkt_y To startpunkt_y+sichtbare_hoehe For x=startpunkt_x To startpunkt_x+sichtbare_breite DrawImage tile(map(x,y,layer)) Next Next Next Ich weiss einfach nicht was er mit startpunkt y meint und sichtbare höhe. Ins nächste layer kann ich ja gehen wenn ich einach sage. If keyhit(3) then layer+1. Geht doch. |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() Das grün soll den ersten Layer darstellen welcher als erstes auf den Schirm gepinselt wird, quasi der Boden. Im nächsten Durchlauf der layer-Schleife werden an den entsprechenden Stellen die Felsen, Berge, whatever einfach drübergepinselt (das graue im Bild). Wenn also jetzt beispielsweise ein Schlüssel auf dem Boden rumliegt ist an den gemaskten Bereichen immer der entsprechende Untergrund sichtbar. |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
darki |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo, ich habe ein paar sachen probiert es funktioniert aber nicht kannst du mir vielleicht den code schiecken mit dem du das beispiel gemacht hast.
darki |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst uns deinen Code posten und wir schauen danach. Aber wir werden Dir nicht dein Programm schreiben. | ||
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 |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der Code ist Paint.exe ![]() http://chat-blitz.de/index.php...file_id=41 Das Ding ist nicht gerade komfortabel und manche Tastenkombis muss man sich erst im Code zusammensuchen, aber für die Öffentlichkeit war das Teil auch nicht gedacht. Für Dich interessant dürfte das laden der Tiles sein (ziemlich am Anfang des Codes) und die schon besagten 3 Schleifen nähe Beginn Hauptschleife. |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
darki |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke werde mir das heute noch mal genauer angucken. Aber ich würde das ding auch mal in aktion sehen, aber dann sagt er mir das er ein include file nich öffnen kann. Was kann ich dagegen tuen? | ||
darki |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
SO habe nun etwas geproggt. Aber er sagt"array index out of bound". Wieso? Vielleicht findet ihr ja den fehler und auch noch so manche andere
Code: [AUSKLAPPEN] raphics 640,480 SetBuffer BackBuffer() Dim map(10,10,layer) Dim grafik(2) For x= 0 To 1 grafik(x)=LoadImage("tile"+Str$(x)+".bmp") Next c=1 layerm=0 If KeyHit(2) Then layer=layer+1 For layer=0 To 1 For y=9 To 9+layerm For x=9 To 9+layerm Next Next For y=0 To 9 For x=0 To 9 map(x,y,layerm)=1 Next Next If MouseHit(2)Then c=c+1 If c=2 Then c=0 End If If MouseX()<10*30 Then mx=MouseX()/30 If MouseY()<10*30 Then my=MouseY()/30 If MouseDown(1) Then map(mx,my,layerm)=c End If For y=0 To 9 For x=0 To 9 DrawBlock grafik(map(x,y,layer)),x*30,y*30 Next Next DrawBlock grafik(c),mx*30,my*30 Color 255,0,0 Rect mx*30,my*30,30,30,0 Next[quote][/quote] |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dim map(10,10,layer) -> layer ist 0, wird also auch damit dimensioniert.
For layer=0 To 1 -> Hier wird versucht aber 2 Layer zu durchlaufen. |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
darki |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Der zeigt mir immer noch den fehler mit den array an. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group