[Problem] GUI für RPG Mapeditor
Übersicht

RancidBetreff: [Problem] GUI für RPG Mapeditor |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo Forum erstmal =)
Also um gleich mit der Tür ins Haus zu fallen ![]() Bisher habe ich immer mit PureBasic herumprobiert (einige Jahre) bin jetzt aber auf Blitz Basic 3D (ver.1.99) umgestiegen. Habe heute die RPG Tutorials auf Robsite gefunden, gelesen und nachgebaut. Und nun da mein sehr simpler RPG Mapeditor funktioniert wollte ich ihm gerne durch eine GUI benutzerfreundlicher machen. Da BlitzBasic3D keine hat habe ich mir also nach kurzem suchen hier im Forum die Escape GUI heruntergeladen. Ein Fenster habe ich dann schon nach dem Lesen des QuickGuides sehr schnell erstellt. Dieses Fenster sollte quasi als Palette für die Tiles dienen, man hätte sie nur noch anklicken müssen und somit auswählen können, wodurch man auch mehr als die 10 (wie im tut) speichern kann. Ich würde euch gerne einen Screenshot zeigen aber das will iwie nicht klappenxD Naja jedenfalls hier ist der code Code: [AUSKLAPPEN] Graphics 640,480,32,1
Include "system\escape.bb" Dim Tile(9) ;Bilder und Tileset laden Hintergrund = LoadImage("Back.bmp") Tileset = LoadAnimImage("tileset.bmp",32,32,0,10) ;Globale Variablen Global x ;Fenster und Bilder erstellen Haupt.eg_window = EG_Window(520,10,120,470,"F.B.Rpg-MapMaker",eg_nomove) Tile1.eg_image = EG_Image (Haupt,5,10,Tileset) Tile2.eg_image = EG_Image (Haupt,5,45,Tileset) SetBuffer BackBuffer() Repeat Cls EG_Main() If KeyDown(1) Then End Flip Forever EG_Exit() End Also bitte nicht wundern ich hab den editor noch als einzelne datei, ich war gerade erst dabei mit und mit die Funktionen des Editors einzubauen^^[/code] |
||
![]() |
Mr.HydeNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann erstmal: Herzlich Willkommen im BlitzBasic Portal!
Zum Thema: Du hast zwar super beschrieben was du vor hast, aber nicht einmal gesagt was dein eigentliches Problem ist. Das würd ich schon gern wissen. Sonst kann ich dir leider nicht helfen. ![]() |
||
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen |
Rancid |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Aiaiaiai xD hab ich darüber ganz vergessen
Naja das Problem ist einfach das ich die Map Tiles mit LoadAnimImage Lade, wodurch ich dann das Problem habe das ich die Tiles nicht als Buttons einfügen kann. Tile1.eg_image = EG_Image (Haupt,5,10,Tileset) Tile2.eg_image = EG_Image (Haupt,5,45,Tileset) besser gesagt das erste Tile klappt nur krieg ich es nicht hin das ein anderes als das erste 32*32 große Tile angezeigt wird. Ich hab auch schon verschiedene mehr oder weniger schlaude dinge probiert (unter anderem eine SchleifexD) aber ich kriege es nicht hin. Auch das was ich für ds logischte hielt klappte nicht Tile1.eg_image = EG_Image (Haupt,5,10,Tileset) Tile2.eg_image = EG_Image (Haupt,5,45,Tileset+1) Desewegen frage ich hier da ich mir schon den ganzen Nachmittag den kopf darüber zerbreche=) |
||
![]() |
Mr.HydeNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
schau dir am besten mal den Befehl Code: [AUSKLAPPEN] BUT_Tile.EG_ImgButton = EG_ImgButton(TileWindow, x_Window_position, y_Window_position,Image,Frame_des_Images (mit LoadAnimImage geladen),"MouseOverText")
an. Damit hab ich es gelöst und das klappt auch gut. |
||
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen |
Rancid |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hm ja ich verstehe was die Zeile bewirkt, das mit den Frames hatte ich auch schon gelesen in der Hilfe zur Escape GUI.
Nur würde ich es gerne hinbekommen das die Tiles alle statisch engezeigt werden. Also so das ich mir einfach eines davon wie aus einer Liste aussuche es anklicke und dann damit auf der map rum malen kann. Kannst du mir da noch weiterhelfen ? Aber schonmal danke für deine Hilfe ^^ und das um die Uhrzeit ![]() |
||
![]() |
Mr.HydeNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Soweit ich dich verstehe möchtest du so eine Liste mit deinen Tiles haben, die du anklicken kannst.
Dein Tileset lädst du in deinem Code so: Code: [AUSKLAPPEN] Tileset = LoadAnimImage("tileset.bmp",32,32,0,10)
Die letzte Zahl gibt die Frames an. Die Buttons musst du alle einzeln erstellen, aber du kannst dabei auf dein Image mit den 10 Frames zurückgreifen. Dazu musst du natürlich beim anlegen der Buttons berücksichtigen, dass sich die Position verändern muss, da sonst alle übereinander liegen und die Framenummer bei jedem Button um eins erhöht werden muss. Code: [AUSKLAPPEN] BUT_Tile1.EG_ImgButton = EG_ImgButton(TileWindow, 0, 0, Image, 0,"MouseOverText") BUT_Tile2.EG_ImgButton = EG_ImgButton(TileWindow, 32, 0, Image, 1,"MouseOverText") BUT_Tile3.EG_ImgButton = EG_ImgButton(TileWindow, 64, 0, Image, 2,"MouseOverText") ... ich hoffe das hilft dir. Um die Buttons nachher zu benutzen musst du natürlich die entsprechenden Abrufroutinen der GUI benutzen. EDIT: Danke Silver_Knee... C&P sollte man auch benutzen können ![]() EDIT2: Ja nur die von Silver_Knee stimmt. Entschuldige *auf die Uhr verweis* |
||
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen |
- Zuletzt bearbeitet von Mr.Hyde am Do, Apr 03, 2008 1:52, insgesamt 5-mal bearbeitet
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
*hust*du wolltest sagen:
Code: [AUSKLAPPEN] Die X Position und Y Position verändern Den Frame Erhöhen V V V BUT_Tile1.EG_ImgButton= EG_ImgButton(TileWindow, 0, 0,Image, 0,"MouseOverText") BUT_Tile2.EG_ImgButton= EG_ImgButton(TileWindow, 32, 0,Image, 1,"MouseOverText") BUT_Tile3.EG_ImgButton= EG_ImgButton(TileWindow, 64, 0,Image, 2,"MouseOverText") .... EDIT Achja und die 1 2 3 gehören an den TypeTräger nicht den Type selbst oder? |
||
Rancid |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@Mr.Hyde Ja genauso wie auf dem Bild habe ich es gemeint.
Also das mit den Frames ist ja eine gute Idee. Ich habe das natürlich jetzt auch direkt probiert aber aus ieinem Grund will es noch immer nicht so klappen. Es werden zwar 3 bilder auf dem Fenster gezeigt aber das erste Button zeigt nicht das Tile 0, sondern 1 sowie auch der 2te Button. Der dritte verhält sich am ausgefallensten denn er zeigt auch Tile 1 aber wenn man mit der Maus drauf klickt verändert er sich zu Tile 2. Liegt das daran das ich iwie mein Tileset falsch lade ? Btw: Ich habe beide methoden ausprobiert aber nur die von Silver_Knee stimmt ![]() Code: [AUSKLAPPEN] BUT_Tile1
BUT_Tile2 BUT_Tile3 So noch mein aktueller Code Code: [AUSKLAPPEN] Graphics 640,480,32,1
Include "system\escape.bb" ;Bilder und Tileset laden Tileset = LoadAnimImage("tileset.bmp",32,32,0,10) ;Fenster und Bilder erstellen TileWindow.eg_window = EG_Window(520,10,120,470,"F.B.Rpg-MapMaker",eg_nomove) BUT_Tile0.EG_ImgButton = EG_ImgButton(TileWindow, 5, 10,Tileset,0,"MouseOverText") BUT_Tile1.EG_ImgButton = EG_ImgButton(TileWindow, 40, 45,Tileset,1,"MouseOverText") BUT_Tile2.EG_ImgButton = EG_ImgButton(TileWindow, 5, 80,Tileset,2,"MouseOverText") EDIT: Ich hab es ![]() Code: [AUSKLAPPEN] BUT_Tile0.EG_Image = EG_Image(TileWindow, 5, 10,Tile,False,0,"MouseOverText")
BUT_Tile1.EG_Image = EG_Image(TileWindow, 40, 45,Tile,False,1,"MouseOverText") BUT_Tile2.EG_Image = EG_Image(TileWindow, 5, 80,Tile,False,2,"MouseOverText") so klappt es ^^ |
||
- Zuletzt bearbeitet von Rancid am Do, Apr 03, 2008 2:16, insgesamt einmal bearbeitet
![]() |
Mr.HydeNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja. Das liegt (entschuldige ein weiterer "verschlafer" meinerseits) daran, dass ich fälschlicherweise angenommen hatte "frames" würde das Frame des Images sein. Ist leider nicht so. "frame" ist die Anzahl der Frames die für diesen einen Button vorgesehen sind. An deiner Stelle würde ich also dein Image mit den Tiles in ein Dimfeld laden (jedes Bild einzeln) und dann das einzelne Bild benutzen. Frame muss dann immer 1 sein, da du ja nur ein Bild für den Button haben möchtest. | ||
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen |
Rancid |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hehe kein Problem ^^ ist um die Uhrzeit ja auch normal
also ich das mit Dim hab ich auch schon heute probiert aber es wollte nit xD Naja ich hab eben die Lösung für mein Prob gefunden ich hab sie oben gepostet. Danke für eure Hilfe =) |
||
Rancid |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hm jetzt wo die Bilder angezeigt werden habe ich ein Problem damit das sich das ausgewählte Tile ändert wenn man ein Bild anklickt.
"eg_event_image wird zurückgegeben wenn in ein Image geklickt wurde" demnach müsste es so klappen Code: [AUSKLAPPEN] ;Globale Variablen Festlegen
Global x,y,mx,my,mapx,mapy,tile = 1 ;Bilder und Tileset laden Tileset = LoadAnimImage("tileset.bmp",32,32,0,10) Repeat Cls SetBuffer BackBuffer() EG_Main() ;Fenster und Bilder erstellen TileWindow.eg_window = EG_Window(520,0,120,480,"F.B.Rpg-MapMaker",eg_nomove) BUT_Tile0.EG_Image = EG_Image(TileWindow, 5, 5, Tileset,False,0) BUT_Tile1.EG_Image = EG_Image(TileWindow, 5, 40, Tileset,False,1) BUT_Tile2.EG_Image = EG_Image(TileWindow, 5, 75, Tileset,False,2) BUT_Tile3.EG_Image = EG_Image(TileWindow, 5, 110, Tileset,False,3) BUT_Tile4.EG_Image = EG_Image(TileWindow, 5, 145, Tileset,False,4) BUT_Tile5.EG_Image = EG_Image(TileWindow, 5, 180, Tileset,False,5) BUT_Tile6.EG_Image = EG_Image(TileWindow, 5, 215, Tileset,False,6) BUT_Tile7.EG_Image = EG_Image(TileWindow, 5, 250, Tileset,False,7) BUT_Tile8.EG_Image = EG_Image(TileWindow, 5, 285, Tileset,False,8) BUT_Tile9.EG_Image = EG_Image(TileWindow, 5, 320, Tileset,False,9) If eg_event_image = BUT_Tile0 Then tile = 0 If eg_event_image = BUT_Tile1 Then tile = 1 If eg_event_image = BUT_Tile2 Then tile = 2 If eg_event_image = BUT_Tile3 Then tile = 3 If eg_event_image = BUT_Tile4 Then tile = 4 If eg_event_image = BUT_Tile5 Then tile = 5 If eg_event_image = BUT_Tile6 Then tile = 6 If eg_event_image = BUT_Tile7 Then tile = 7 If eg_event_image = BUT_Tile8 Then tile = 8 If eg_event_image = BUT_Tile9 Then tile = 9 Tut es aber nicht.. weiss jemand rat ? |
||
![]() |
Thorsten |
![]() Antworten mit Zitat ![]() |
---|---|---|
Images nicht in der Hauptschleife erstellen/laden ..
mfG, Thorsten |
||
Rancid |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hm jetzt bin ich ein wenig schockiert als ich gestern nacht daran rumgewerkelt habe wollte es einfach nicht klappen das der die Dinger zeichnet also packte ich sie in die Schleife.
Jetzt hab ich sie eben rausgenommen und es klappt xD Muss gestern wohl an der späten uhrzeit gelegen haben.. danke jedenfalls für deine Hilfe |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group