Tiles Alpha-Wert? Please Help!
- GM 6
-
-
meinst du sowas?
tile_set_alpha(id,alpha) Setzt den Alphawert des Tiles mit der angegebenen ID
tile_get_alpha(id) Gibt den Alphawert des Tiles mit der angegebenen ID zurückMeine Spiele:
- Mission A
- Mission B
- The Virus 1, 2, 3
- The Virus 4: The Excision
- Blur melts Snow
- Blur melts Snow: 2nd Version
- Cave Jumper
Hauptrojekt: Party Mania(Arbeitstitel) - große Multiplayer-Minispielsammlung
In Planung: Planet Jumper(Nachfolger von Cave Jumper) -
-
ich habs mal getestet du musst die (positions
) id nennen...das ist ziemlich aufwendig....ganz unten in der mitte steht in den rooms immer die id,die musste dann in der funktion eingeben
aber das muss doch i.wie anders gehen,es gibt bestimmt ne leichtere lösung
Meine Spiele:
- Mission A
- Mission B
- The Virus 1, 2, 3
- The Virus 4: The Excision
- Blur melts Snow
- Blur melts Snow: 2nd Version
- Cave Jumper
Hauptrojekt: Party Mania(Arbeitstitel) - große Multiplayer-Minispielsammlung
In Planung: Planet Jumper(Nachfolger von Cave Jumper) -
oooookaaayyy....... das funktioniert zwar aber das ist echt extremst aufwändig! aber danke das du mich der lösung einen schritt näher gebracht hast

weis jemand vielleicht wies einfacher geht? ich brauch das eine tile nähmlich ca 200 mal in dem spiel und bei jedem nachzuschauen wie die ID nummer ist undd ann noch einen extra code dafür zu machen ist so unglaublich aufwändig das ich bestimmt einen monat brauche, nur um die tiles durchsichtig zu machen
da dreh ich vorher durch -
Vielleicht solltest Du Deine Methode überdenken... 200 Tiles sind sowieso schon (fast) ein bischen viel.
PS: Meintest Du das hier "tile_set_alpha(a,b)" mit "extra einen Code machen" ? Ich ziziere: "so unglaublich aufwändig" Du machst wohl Witze. -
nein ich meine damit das ich jede iD seperat als code machen müsste da das selbe tile nie die gleiche iD nummer hat! jedes mal wenn man eins irdenwo hinsetzt hat dieses eine eigene iD nummer.
Melancor schrieb:
PS: Meintest Du das hier "tile_set_alpha(a,b)" mit "extra einen Code machen" ? Ich ziziere: "so unglaublich aufwändig" Du machst wohl Witze.
dann müsste ich für dedes gesetzte tile einen eigenen code machen und das bei über 200!
und zu viele sind das meiner meinung nach auch nicht da sie nicht alle im gleichen room sind
-
-
mhhm bei mir kommt immer ne fehler meldung. leider kann ich sie nicht kopieren aber da steht was von ner fehlenden Variablen.
genial wäre es wenn jemand ein example machen könnte
-
WTF? Was isn mit euch los?
Das von Basti is ja schon nahe dran aber trotzdem der größte Witz
Also was macht man wenn man viele gleichartige Objekte verarbeiten will? Sicher nicht alle einzeln aufzählen ihr Pappnasetile_layer_find(depth,x,y) Returns the id of the tile with the given depth at position (x,y). When no tile exists at the position -1 is returned. When multiple tiles with the given depth exist at the position the first one is returned.

Man iteriert über der Menge der Tiles (sehr gute Idee wäre eine For-Schleife).
Mit diesem unglaublich eleganten Code da oben kannste die ID eines Tiles an einer bestimmten Stelle mit einer bestimmten Tiefe rausfinden, also brauchst du nur deinen Raum nach x/y abzuläufen.
also sowas in die Art:
-
Und wo ist dein Code besser?
Wenn er doch genau weiß, wie viele Tiles er hat, dann ist mein Code
1. einfacher und
2. kürzer.
Aber was für ne Fehlermeldung kommt denn?
Bei mir läuft das einwandfrei... -
bei Thodds vorschla bekomm ich folgenden error:
wie gesagt ein example wäre echt geinal da ich bestimmt irgendein fehler gemacht habe. und @Basti: ich kenne leider nicht die genaue anzahl der tiles die ich benutzen werde da das spiel grade in der anfangsphase ist, das mit den 200 ist nur eine ungefähre schätzungCOMPILATION ERROR in room script
Error in code at line 4
black_stripes = tile_layer_find(depth,xx,yy);
at position 18: Variable name expected.
-
Is ja nun keine Schwierikeit das dann nachher zu erweitern.. einfach ne höhere Zahl eingeben...
-
Mein code ist insofern besser, dass man damit genau die Tiles abläuft (und zwar so wie die GM interne Funktion gedacht ist) die benötigt werden. Irgendwelche IDs hart zu codieren führt zwangsläufig zu Fehlern. Wenn er jetzt seine Tiles ändert? Muss er den Code ändern. Und wenn er seine Tiles dynamisch erzeugt anhand einer Map-Datei? Spätestens dann ist der "einfache" Ansatz nicht zu gebrauchen.
Basti schrieb:
Und wo ist dein Code besser?
Wenn er doch genau weiß, wie viele Tiles er hat, dann ist mein Code
1. einfacher und
2. kürzer.
@kevb0ard: Zeig mir mal mehr von deinem Code dann kann ich dir sagen warums nicht geht.
Übrigens musst du statt "depth" natürlich die Layertiefe deiner Tiles angeben, depth allein ist nur die Tiefe des Objekts das den Code ausführt. -
hier ist der code:
ich bin noch nicht so gut im umgang mit der GML deswegen habe ich bestimmt einen leichtsinns fehler gemacht
-
Hast du die Variable tilesize definiert?
Das muss die Breite bzw. Hoehe deiner Tiles sein.
Bei nem 16x16 Tile also tilesize = 16. -
hab ich. ist dir vielleicht noch was aufgefallen?
Thodd schrieb:
Hast du die Variable tilesize definiert?
Das muss die Breite bzw. Hoehe deiner Tiles sein.
Bei nem 16x16 Tile also tilesize = 16.
edit: ich geb dir mal alle daten über das tile dann kannst du ja mal den code direkt darauf anpassen.
Größe: 1278x852
Layertiefe: -1.000.000
name: black_stripes
wow ich glaub der server war grad down
hab ca. 5 minuten versuch es zu posten. Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von kevb0ard ()
-
Habs mal in nen example gepackt, funktioniert prima :x
Hatte aber noch was vergessen, wusste nicht dass tile_set_alpha abschmiert wenn die ID ungültig ist.
Wenn du Space drückst siehste den Effekt. -
bei meinem spiel funktioniert es immernoch nicht. vielleicht liegt es daran das du nur eine schrift als tile drawen lässt ich aber einen background als tile nehme!?
Thodd schrieb:
Habs mal in nen example gepackt, funktioniert prima :x
Hatte aber noch was vergessen, wusste nicht dass tile_set_alpha abschmiert wenn die ID ungültig ist.
Wenn du Space drückst siehste den Effekt. -
Vll. missverstehen wir uns, Tiles sind kleine Quadrate (normalerweise zwischen 8x8, 16x16 und 32x32 pixel hoch und breit) die du in den Room setzt, so wie in meiner GM-Datei.
Was du mit Schrift als Tile drawen meinst is mir nich ganz klar. Tile = engl. für Kachel/Fliese.
Du lädst einen Background und klickst dann bei den Background Properties auf "Use as tile set", dann kannst du mit den Tiles deinen Raum einkleistern :x
Wenn du nen Background zeichnest is klar, dass du keine Tiles verändern kannst, schließlich ist ein Background ja auch ein zusammenhängendes Bild und Tiles sind wie gesagt nur kleine Kacheln die man nebeneinander legt. Ich checks nich



es gibt zwar keine fehlermeldung oder so aber es wird auch nicht durchsichtig???!!!