F:
Ich hätte gern eine dynamische Lichtquelle, die weich zwischen zwei
angegeben Farben hin- und herwechselt. Wie geht das?
A: Hier ist ein Beispiel
einer Lichtquelle, die dies tut.
action my_custom_light
{
var red_min = 230; // smallest value for red
var red_max = 255; // biggest value for red
var green_min = 65; // and so on
var green_max = 240;
var blue_min = 37;
var blue_max = 74;
my.lightrange = 100;
while (1)
{
my.skill1 = red_min + (sin(total_frames * 3.5) + 1)
* (red_max - red_min) / 2;
// 3.5 = speed for red
my.skill2 = green_min + (sin(total_frames * 3.5) + 1) * (green_max - green_min)
/ 2; // 3.5 = speed for green
my.skill3 = blue_min + (sin(total_frames * 3.5) +1) * (blue_max - blue_min) /
2; // 3.5 = speed for blue
my.red = my.skill1;
my.green = my.skill2;
my.blue = my.skill3;
wait (1);
}
}
F: Ich
habe eine Frage zum Kraftfeld-Code aus AUM 26. Könnte ich auf das Kraftfeld
schießen, um es zu deaktivieren?
A: Hier ist das geänderte Skript und ein Demo
Level.
F:
Wie müßte der Code aussehen, der eine Tür vertikal wie
ein Garagentor öffnet? Vielleicht mit einem Schalter, um den Mechanismus
zu aktivieren?
A: Benutzen Sie dieses
Skript.
var switch_on = 0;
action garage_door // attach it to the garage door
{
while (switch_on == 0) {wait (1);}
while (my.z < 300) // play with 300
{
my.z += 4 * time;
wait (1);
}
}
action door_switch // attach it to the door switch
{
while (player == null) {wait (1);}
// wait until the player has come closer than 50 quants to the
switch
while (vec_dist (player.x, my.x) > 50) {wait (1);}
switch_on = 1;
}
F:
Ich habe eine Frage zu dem Panzerspiel “Thanks” aus einem
früheren AUM. Wenn ich nach vorn fahre, kann ich durch alle Mauern
durch. Ich benutze A6 Commercial. Können Sie helfen?
A: A6 kann extrem dünne
Wände nicht als Hindernis wahrnehmen. Machen Sie Ihre
Wände etwas dicker und es wird funktionieren. Hier ist
ein Beispiel, das ohne Probleme funktioniert.
F:
Ich habe eine Frage zu Partikeleffekten; wenn ich die Engine starte, erhalte
ich den Fehler 1517 – no level. Wenn ich Ok klicke, läuft alles wie
geplant. Was ist die Lösung?
A: Einige Ihrer Funktionen beginnen,
bevor das Level geladen wurde. Prüfen Sie alle Starterfunktionen
oder solche, die noch von einem früheren Level laufen und fügen
Sie ggf. ein sleep(1) am Anfang ein.
F:
Ich bearbeite gerade Georges Pathfinding Tutorial aus dem AUM. Ich habe
den Code aus AUM 31 unverändert übernommen. Wenn ich diesen
Code in irgendeinem anderen Level benutze als dem, der mitgeliefert war,
bekomme ich “Invalid Array Index” Fehler zur Laufzeit. Hat
es jemand geschafft, den Code zum Laufen zu bekommen?
A: Sie müssen für
Ihre eigenen Level die paths.txt neu berechnen. Diese Datei
enthält die jeweils kürzeste Verbindung zwischen
zwei Knoten und wird erzeugt, wenn die compute.wdl einmal
durchläuft. Lesen Sie den Artikel aus AUM 31, um genauere
Informationen zu erhalten.
F: Ich
habe gelesen, dass A6 im Moment maximal 8 dynamische Lichter zuläßt.
Ich habe mich gefragt, ob es möglich ist, mehr Lichter zu bekommen,
indem man die Position des Spielers im Level prüft und Lichter entfernt,
die weiter weg sind.
A: Hier ist ein Ausschnitt, der genau
dies tut.
action
bright_light // attach it to your light model / sprite
{
my.passable = on;
my.red = 255; // set the color here
my.green = 255;
my.blue = 100;
while (1)
{
if (vec_dist (camera.x, my.x) < 1000)
{
my.lightrange = 300; // activate
the light
}
else
{
my.lightrange = 0; // deactivate
the light
}
wait (1);
}
}
F:
Ich frage mich, wie man es hinbekommt, dass ein Model von einem Menschen
einen blauen Fleck bekommt, wenn man es an einer Stelle trifft.
A: Mit dem Malcode aus der Anfängerecke
in dieser Ausgabe können Sie einen solchen Fleck einfach auf
Ihr Model malen.
F: Jede
PCX-Datei zeigt die schwarze Farbe als transparent. Ist dies ein Problem
mit meinem Computer? Wie kann ich es beheben?
A: Das ist normal für die
Engine. Benutzen Sie eine Farbe mit RGB >= 8,8,8 um ein nicht
transparentes schwarz zu erhalten.
F:
Ich habe Texturen für Bäume, Büsche und Gras. Wie mache
ich daraus TGA-Sprites?
A:
Ich nutze für das Beispiel Paint Shop Pro 7.
1) Wählen Sie den Baum oder den Busch mit dem Zauberstab oder einer anderen Methode aus.
2) Kehren Sie die Auswahl um und schneiden Sie das Resultat aus.
3) Füllen sie den markierten Bereich schwarz (RGB = 000)
4) Kehren Sie die Auswahl wieder um und verringern sie um 1 Pixel, um den schwarzen Rand zu entfernen und speichern Sie das Resultat im Alpha Kanal.
5) Speichern Sie das Ergebnis als TGA.