Rotanteil der Raumfarbe und aller Objekte/Charakter erhöhen!

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Rotanteil der Raumfarbe und aller Objekte/Charakter erhöhen!

Beitrag von Fightmeyer »

Hallo Leute!

Meine Frage:

Ich habe einen Raum, in dem ich Rotlicht anschalten will. Damit das ansclhießend natürlich halbwegs echt aussieht, sollte dann das Hintergrundbild, die Objekte und der Charakter im Raum einen höheren Rotanteil in den Farben haben. Ist das irgendwie möglich?? Ich möchte nämlich nicht alle Charakteranimationsphasen mit nem höheren Rotanteil neu importieren. Das gleiche müßte ich ja auch bei den Objekten machen. Dazu kommt noch ein Haufen Scripting, da der Spieler ja fast alles bei angeschlatetem Licht auch machen kann. Deswegen wäre es praktisch, wenn man einfach eine Art Rotfilter drüberlegen könnte.
Weiß jemand, ob das geht???
strazer

Beitrag von strazer »

TintScreen()-Funktion?
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

Wie muß ich mir das vorstellen?? Was tut diese Funktion??
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Chris Jones hat geschrieben:TintScreen (int red, int green, int blue)

Tints the screen with the specified RGB values. RED, GREEN and BLUE range from 1 to 100.
Pass (0, 0, 0) to turn off the tinting and go back to how the screen normally looks.

NOTE: This command is currently experimental, since it causes a massive slowdown in the engine, especially at high resolutions. If you use it, you should provide an option for the player to turn it off.

NOTE: This feature only works in hi-colour games.

Example:

TintScreen (100, 50, 50);

will tint a heavy dose of red.
Was wahrscheinlich auch gehen würde:
Ein Objekt, dass als Sprite ein rotes Rechteck in Screengröße hat, bei (0;0) plazieren, dessen Transparency auf irgendwas zwischen 30 und 50 setzen, es non-clickable machen und dann bei Bedarf ein- und ausschalten.
Use gopher repellent on funny little man
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

Danke!
Ich werd beides mal ausprobiern und sehen, welches stabiler bzw. schneller läuft.
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Ist mir grade noch eingefallen:
Wichtig ist, dass die baseline des roten Objekts ganz unten ist, damit es vor allem anderen dargestellt wird.
Use gopher repellent on funny little man
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

Danke für den Hinweis! Hätt mich wahrscheinlich erstmal wieder gewundert und einige Minuten rätseln müssen... :wink:
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

So. ICh hab jetzt folgendes Problem bei der Thematik.
Arbeite ich mit Tintscreen, ändert er den Farbanteil für alles. Also auch für den Mauszeiger, die Guis etc. Das sieht natürlich komishc aus.
MAch ich das ganze mit einem raumgroßen Objekt, überdeckt das alle anderne Objekte und Hotspots und ich kann diese nicht mehr anwählen.
Rein vom Handling her ist die Objektvariante an sich shcon besser, aber wenn ich dadurch alle anderen Objekte blockiere, ist das natürlich blöd.
Irgendwelche Ideen? Kann man ein Objekt vielleicht rein Programmtechnisch "unsichtbar" machen, daß es zwar auf dem Bildschirm angezeigt wird, aber von AGS nicht weiter beachtet wird???
Tribble
Tastatursteuerer
Tastatursteuerer
Beiträge: 593
Registriert: 22.10.2004, 13:15

Beitrag von Tribble »

SetObjectClickable

Das GUI zu färben könnte als Gag aber auch ganz nett aussehen.
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

Tribble hat geschrieben:SetObjectClickable

Das GUI zu färben könnte als Gag aber auch ganz nett aussehen.
Ach ja! Ich Depp. Hatte Krishmuc ja auch schon oben erwähnt. Danke.
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

Ich werd wohl doch wieder zu der TINTSCREEN Variante wechseln müssen. Macht mans mit nem roten Objekt, geht die Performance doch zu arg in die Knie.

Schade. Hatte an sich richtig klasse funktioniert.
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Als Alternative könntest Du folgendes machen:

1. Alle Objekte im Raum rot färben:
Object.Tint(int red, int green, int blue, int saturation, int luminance)
bzw.
SetObjectTint(int object, int red, int green, int blue, int saturation, int luminance)
bzw. zu Gunsten der Performance ein neues, rotes Sprite machen und zu diesem wechseln.

2: Genauso alle Charaktere im Raum rot färben.

3: Hintergrund:
Im Grafikprogramm transparente, rote Ebene drüberlegen, abspeichern, dann als background frame importieren:
SetBackgroundFrame (int frame)

Wenn Du nicht schon die background frames für eine Animation im Hintergrund benutzt, sollte das eigentlich alles funktonieren.
Dann hättest Du Rotlicht praktisch ohne Performanceeinbruch (bis auf die Charaktere).
Du musst dann wahrscheinlich nur bei der ein oder anderen Aktion bissl mehr skripten.
Use gopher repellent on funny little man
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

Ich werd mal was anderes ausprobieren. Es gibt glaub ich auch noch den Befehl SetAmbientTint oder so ähnlich. damit kann man den Rotanteil aller Objekte und Charaktere verändern. Dann brauch ich nur noch den Backgroundframe in nem Graphikprogramm röten und bei Bedarf einfach zwischen den Frames umschalten.
Sollte von der Performance her auch annehmbar sein.
Gast

Beitrag von Gast »

Free Anonymous proxy list download: http://www.checkproxy.net
[ZENSIERT]
Adventure-Gott
Adventure-Gott
Beiträge: 4575
Registriert: 13.07.2004, 14:04
Wohnort: Da wo muss
Kontaktdaten:

Beitrag von [ZENSIERT] »

Anonymous hat geschrieben:Free Anonymous proxy list download: ***
Ich hab zwar keine Ahnung, wovon du da redest, aber hier ist nicht der richtige Platz dafür

I don't know what you're talking of but this is not the right place for that
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge

Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.

Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Antworten