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.