Grundlage ist der Visionaire Studio Guide von Chris Tikkos (Dionous Games), hier mit seiner Erlaubnis veröffentlicht.
Dieses Skript zeigt eine einfache Liste offener Aufgaben oder Ziele auf dem Bildschirm. Lege es als Definitionsskript an. Aufgaben fügst du mit dem Aktionsteil „Execute a script“ hinzu oder entfernst sie:
add_task("pick up paycheck")
remove_task("pick up paycheck")
Bei den Aufgabennamen zählt die Groß- und Kleinschreibung. Die Liste nutzt die Schrift example; ersetze den Namen durch eine deiner Schriften. Größe, Farbe, Rand und Schatten der Schrift werden übernommen.
task_list = {} -- offene Aufgaben
function draw_tasks()
if #task_list == 0 then return end
graphics.font = Fonts["example"]
-- x-Position, y-Position, Deckkraft
graphics.drawFont(table.concat(task_list, "\n"), 100, 100, 1)
end
-- -1 = unter der Szene, 0 = über der Szene, 1 = über den Interfaces
graphics.addDrawFunc("draw_tasks()", 1)
function add_task(str)
for i = 1, #task_list do
if task_list[i] == str then return end -- schon in der Liste
end
table.insert(task_list, str)
end
function remove_task(str)
for i = #task_list, 1, -1 do
if task_list[i] == str then table.remove(task_list, i) end
end
end
Die Zeichenfunktionen sind in der Grafik- und Medien-API beschrieben. Prüfe in deinem Spiel, ob die Liste Speichern und Laden übersteht; falls nicht, speichere die Aufgaben zusätzlich in Werten oder Bedingungen.