Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Metamorphose

#2
Hallo Miteinander.
Ich hab eine kleine idee für ein nicht so aufwendiges programm, dass bei einem buttonklick verschiedene sätze anzeigen soll in einem von mir grössendefinierten bereich. Wie in einem textadventure, dass der text unterschiedlich lang ist und ab einer gewissen länge automatisch eine neue zeile macht. Habt ihr mir da ideen oder gibts schon was, dass ich nehmen kann? Nehme an dass es nicht einen entsprechenden befehl gibt, bzw habs mit meinem neulingswissen nicht gefunden.
Grüsse
#3
Hm, und wie macht ihr das mit den grafiken? Skalieren auf auflösung? Gewisser bereich fest und der rest irgendein hintergrundbild? Mehrere grafiken für unterschiedliche auflösungen?
Gibt ja kein stretch-alles-gezeigte-auf-auflösung-befehl.
#4
Helllau.
Ich hab glbasic schon eine weile, hab sogar vor über 10 jahren mal ein kleines spiel damit geschrieben.
Würd nach der langen Zeit gerne mal wieder was programmieren. Jetzt hab ich früher aber für die Pandora geschrieben, da konnt ich die auflösung eingeben. Jetzt würd ich gern was für androids machen, hab noch nie mit variablen auflösungen geschrieben.
Kann mir da jemand eine gute herangehensweise erklären?
Möglichst simpel, hab glbasic ja schon längers nicht mehr genutzt :/
#5
thanks to all of you.
competition?
no, i broke my shoulder and want to make a simple textadventure for the panda with 1 hand ;)
#6
salü
wollt was für die open pandora schreiben, habe mal kurz angefangen ein simples textadventure zu schreiben und zu schauen, wies aussieht.
multicompiled, auf pandora drauf: geht nicht.
in die pnd geschaut und hatte die font nicht dabei. deshalb bei dateien in der IDE eingefügt und wieder multicompiled.
lädt und wieder zurück im minimenü.
habe es auf der SD als pandora/apps drin, einfach die pnd.
projekteinstellungen sind auch auf pandora fixiert.

der code ist sehr simpel, denke nicht dass der was macht:
Code (glbasic) Select

LOADFONT "font.png", 1
SETFONT 1

GLOBAL txt1$, txt2$, txt3$, txt4$, txt5$, txt6$, txt7$, txt8$, txt9$, txt10$, txt11$, txt12$, txt13$
GLOBAL room

room = 1


IF room=1 THEN txt1$= "beispieltext"

PRINT txt1$, 10, 10, 1
PRINT txt1$, 10, 25, 1
PRINT txt1$, 10, 40, 1
PRINT txt1$, 10, 55, 1
PRINT txt1$, 10, 70, 1 //5
PRINT txt1$, 10, 85, 1
PRINT txt1$, 10, 100, 1
PRINT txt1$, 10, 115, 1
PRINT txt1$, 10, 130, 1
PRINT txt1$, 10, 145, 1 //10
PRINT txt1$, 10, 160, 1
PRINT txt1$, 10, 175, 1
PRINT txt1$, 10, 190, 1
PRINT txt1$, 10, 205, 1
PRINT txt1$, 10, 220, 1 //15
PRINT txt1$, 10, 235, 1
PRINT txt1$, 10, 250, 1
PRINT txt1$, 10, 265, 1
PRINT txt1$, 10, 280, 1
PRINT txt1$, 10, 295, 1 //20
SHOWSCREEN
MOUSEWAIT


SUB cleartxt:
txt1$=""; txt2$=""; txt3$=""; txt4$=""; txt5$=""; txt6$=""; txt7$=""; txt8$=""; txt9$=""; txt10$=""
txt11$=""; txt12$=""; txt13$=""
ENDSUB



an was liegts? grüsse
#7
okay.
sind die pfadangaben in dem beispiel relativ oder bezieht sich das auf systemvariablen?
geb das ganze ja dann in dos ein.
und eine grundlegende frage: passt sich bei android-geräten der bildschirm der auflösung des programms an (sprich 70p wird auf 1080p trotzdem vollbild) oder bleibt es dann einfach klein? bzw muss man da abfragen machen?
grüsse
#8
salü miteinander.
habe mir letztens ein android-tablet gekauft und gedacht, ich könnt ein altes projekt kurz dafür kompilieren.
nun versteh ich die hilfedatei einfach nicht. um es einfach nur bei mir auf dem android-tablet anzusehen, was muss ich da tun? (ohne marketplace usw)
grüsse
#9
Hallo Miteinander.

Ich würde gerne für jemanden ein Programm schreiben, dass 4 Buttons (einfach Bilder eines Buttons) zeigt. Wenn man auf einen Button drückt, lässt es eine mp3/wav datei abspielen. Im Programm soll man aber auch das Bild des Buttons ändern können und eine neue mp3/wav-datei aufnehmen, die die alte ersetzt.

Gibt es da einfache Lösungen, glbasic Befehle für oder ist das etwas aufwendigeres? Wäre für das Iphone/Ipad.

#10
Hallo.
Ich habe eine grundlegende idee, dass die fertige glbasic-anwendung aus txt-dateien (oder rtf) anweisungen intepretiert.
sprich in der txt steht:

---

[background]back.jpg
[txtfarbe]weiss
[Frage1]Was denkst du?
[Input]

[IfInput]1
Aha, eine 1

---

So ganz grob. Mit welchen Funktionen macht man das?
Habe mal hier was ähnliches gefragt, dann sagte mir man einen befehl der bytes ausliest. habs anhand der glbasic-hilfe nicht kapiert und resigniert.
Das oben ist nur ein Beispiel, ev gibts bessere Möglichkeiten?
Dass man am schluss ein textadventure praktisch im TXT scheiben kann und die Anwendung liest diese nur noch aus.
#11
mkay.
finde ich irgendwo was über diese winkelfunktion und wie ich sie berechnen kann?
hatte ich in der schule früher nicht und wenn, dann ist das viel zu lange her ^^
3d generell ist mir schon klar, hab auch noch was drüber gelesen.
#12
hallo.
Ich habe in ac3d ein model gebaut das folgend aussieht: einen boden (rasen), dann noch 4 mauern am ende des bodens. also von oben gesehen eine schachtel ohne deckel. dies mit ac3d eingefärbt und in glbasic geladen konvertiert als ddd und geladen.
mit den pfeiltasten dreht er sich links, rechts und geht voraus (noch nicht relativ zu links/rechts rotation).
das wäre alles.
doch wenn er sich links dreht (oder rechts) hört es ab einem gewissen punkt praktisch auf. er dreht sich dann extrem langsam bis praktisch nicht.
dazu kommt, dass ich es nicht kapiere, dass vorwärts einfach relativ zu der richtung ist, in die man sieht.
war nicht besonders gut in mathe, das rächt sich wohl.

hier mal der code:

Code (glbasic) Select

GLOBAL x#, y#, z#, px#, py#, pz#, ma#, mb#
x#=1
y#=1
px#=-10

X_LOADOBJ "world.ddd", 0


WHILE TRUE

X_MAKE3D 1, 50, 45
X_CAMERA x#, y#, z#, px#, py#, pz#
X_DRAWOBJ 0, 0

IF KEY(200)=TRUE; x#=x#-0.1; ENDIF
IF KEY(203)=TRUE; pz#=pz#+1; ENDIF
IF KEY(205)=TRUE; pz#=pz#-1; ENDIF

SHOWSCREEN

WEND
#13
ich bins nochmals.

habe nun schranz0rs code verwendet und oben rechts einer auswahl mit leveltiles zum anklicken hingetan.
nun sollte man dort draufklicken (maptile verändert sich) und dann ins level (also der bereich von 0-900x0x700) klicken, dass sich map(x:y) verändert, also zB map2x4=2 (durch maptype). ausprobiert, funzt nicht. hier mal der code:
Code (glbasic) Select

SETSCREEN 1280, 720, 0

GLOBAL map[]
GLOBAL mx, my, b1, b2
GLOBAL mxi%, myi%
GLOBAL maptype

REDIM map[18][14]

LOADSPRITE "media/cursor.png", 1
LOADSPRITE "media/nix.png", 51
LOADSPRITE "media/links.png", 52
LOADSPRITE "media/oben.png", 53
LOADSPRITE "media/rechts.png", 54
LOADSPRITE "media/unten.png", 55

LOADFONT "font.png", 1
SETFONT 1

FOR x = 0 TO 17
FOR y = 0 TO 13

map[x][y]= 1 //1 ist nichts, einfach dass man blank weiss hat

NEXT
NEXT




WHILE TRUE

//mausvaries in 50er teilen und begrenzung
mxi%=mx/50; myi%=my/50 ; IF mxi%>18 THEN mxi%=18; IF myi%>14 THEN myi%=14



//MAPabfrage
FOR x = 0 TO 17
FOR y = 0 TO 13

SELECT map[x][y]
CASE 1
DRAWSPRITE 51, x*50, y*50 //51 nix
CASE 2
DRAWSPRITE 52, x*50, y*50 //52 links
CASE 3
DRAWSPRITE 53, x*50, y*50 //53 oben
CASE 4
DRAWSPRITE 54, x*50, y*50 //54 rechts
CASE 5
DRAWSPRITE 55, x*50, y*50 //55 unten
ENDSELECT
NEXT
NEXT






//auswahl der maptypes
IF mx>950 AND mx<1000 AND my>100 AND my<150 AND b1=1 THEN maptype = 0
IF mx>950 AND mx<1000 AND my>160 AND my<210 AND b1=1 THEN maptype = 1
IF mx>950 AND mx<1000 AND my>220 AND my<270 AND b1=1 THEN maptype = 2
IF mx>950 AND mx<1000 AND my>280 AND my<330 AND b1=1 THEN maptype = 3
IF mx>950 AND mx<1000 AND my>340 AND my<390 AND b1=1 THEN maptype = 4

DRAWSPRITE 51, 950, 100 ; PRINT "Nichts", 1010, 120, 1
DRAWSPRITE 52, 950, 160 ; PRINT "Linke Wand", 1010, 180, 1
DRAWSPRITE 53, 950, 220 ; PRINT "Oben Wand", 1010, 240, 1
DRAWSPRITE 54, 950, 280 ; PRINT "Rechts Wand", 1010, 300, 1
DRAWSPRITE 55, 950, 340 ; PRINT "Unten Wand", 1010, 360, 1

PRINT "Auswahl: "+maptype, 950, 450, 1
PRINT "Maus "+mxi%+"x"+myi%, 950, 470, 1




//map ändern - ACHTUNG hier liegt ev der hund begraben
IF mx<900 AND my<700 AND b1=1

FOR x = 0 TO 17
FOR mxi% = 0 TO 17
FOR y = 0 TO 13
FOR myi% = 0 TO 13

IF maptype=0 THEN map[x][y]= 1
IF maptype=1 THEN map[x][y]= 2
IF maptype=2 THEN map[x][y]= 3
IF maptype=3 THEN map[x][y]= 4
IF maptype=4 THEN map[x][y]= 5

NEXT; NEXT
NEXT; NEXT

ENDIF



DRAWSPRITE 1, mx, my
MOUSESTATE mx, my, b1, b2

SHOWSCREEN
WEND
END

#14
das hat mich jetzt mal wirklich weitergebracht.
danke schranz0r
#15
Hallo.
versuche ganz simpel mit einem dim von 13x13 eine map zu zeichnen, anhand des einsteiger-tutorials von glbasic.
ich meine es so:

111
121
111

1 ist gras, 2 ist erde. dann sollte er mir überall wo im dim 1 ist ein gras hinzeichnen und wo ein 2 ist erde. habe versucht das auf 13x13 zu machen mit einer spritegrösse von 50. der code kompiliert, doch bleibt das glbasic-fenster nur ein wimpernschlag offen. ohne die abfrage des dims funzt es. warum gibts keinen fehler aus und was mache ich falsch?

Code (glbasic) Select

SETSCREEN 1280, 720, 0

GLOBAL wx, wy, wt //13x13 felder mit wt als spätere abfrage was für eine eigenschaft
wx=13; wy=13; wt=1 //wird hier kurz deklariert, dass ers für das dim verwenden kann


LOADSPRITE "media/grass.png", 1
LOADSPRITE "media/erde.png", 2

DIM welt[wx][wy] //also welt[13][13]



WHILE TRUE

FOR wx=1 TO 13
FOR wy=1 TO 13

IF welt[wx][wy]=1 THEN DRAWSPRITE 1, wx*50, wy*50 //hier ist vermutlich der wurm drin. 50 ist die spritegrösse
IF welt[wx][wy]=2 THEN DRAWSPRITE 2, wx*50, wy*50



NEXT
NEXT


SHOWSCREEN

WEND