Actor

Aus Starcraft Wiki

Wechseln zu: Navigation, Suche

Unter einem Actor versteht man in StarCraft II ein Objekt, welches für Grafik oder Sound verantwortlich ist. Ein Actor hat also keinen Einfluss auf den Spielverlauf (abgesehen von Doodads, die das Pathing beeinflussen), sie sind nur dafür verantwortlich, was der Spieler sieht und hört. Das heißt auch, dass jede Einheit mindestens einen Actor benötigt um überhaupt im Spiel angezeigt zu werden. Man sollte auch immer im Hinterkopf behalten, dass man zwar mit einem Actor die Position einer Einheit verändern kann, dies dann aber nur die angezeigte Position ist und die Einheit an sich trotzdem noch an ihrer alten Position bleibt.


Inhaltsverzeichnis

Verschiedene Actor Typen

Es gibt sehr viele verschiedene Arten von Actors, die in diesem Abschnitt aufgelistet und erklärt werden.


Action

Actor List

Banker

Beam

Beam (Simple)

Beam (Standard)

Doodad

Ein Doodad ist ein unbewegliches Objekt in der Landschaft, welches über den Doodad-Layer im Terrain-Editor platziert werden kann.

siehe auch: Doodad erstellen

Doodad Effect Spawner

Editor Camera

Editor Point

Event Macro

Global Configuration

Look At

Missile

Model

Physics

Portrait

Power

Progress

Queried

Query Response

Range

Region

Region (Circle)

Region (Combine)

Region (Game)

Region (Polygon)

Region (Rectangle)

Region (Water)

Selection

Shadow

Shield

Shield Impact

Simple

Site

Site (Mover)

Site (Rocker)

Site Operation

Siehe: Site Operation

Site Operations können in normalen Actors unter dem Punkt Hosting zugewiesen werden. Diese können bestimmte Eigenschaften des Actors verändern

Snapshot

Sound

Splat

Squib

State Monitor

Terrain Deformer

Text

Turret

Dieser Actor dient ausschließlich für den Data Type Turret. Er repräsentiert hierbei nicht das Visuelle sonder gibt dem anzugebenden Actor/ Model die Befehle sich wie ein Turret zu verhalten. Damit wird unter anderem die Drehung zum Ziel gesteuert.

Unit

Actors in Galaxy

actor ist ein Datentyp der Scriptsprache Galaxy.

Design Kommentare zu Actors

In der nativs.galaxy Datei befindet sich folgender Kommentar, der einige Dinge über Actors erklärt:

// Actor
// - Can send actor messages through API that is temporarily similar to the animation API.
//
// Design Comments
// - Trigger code is synchronous and actors are asynchronous.  This means we can't have any
//   routines that return any results, since anything from the actor system is suspect.
//   This includes even the existence of actors themselves; an actor might only be created on
//   machines with good graphics cards, for instance.
// - This also means collection classes are out, since we can't return a count that is guaranteed
//   to match.  (Technically, we could still have them, but just not populate them via "query".
//   The value at this point is unfortunately low enough to not be worth the complexity.)
// - We can return actors and scopes, but these will be opaque values that might even be NULL.
//   The client can do stuff with them, but won't be guaranteed to have them work.  In other
//   words, the client always appears to get a valid object, but the user has no way of actually
//   knowing whether it was valid, except to look at the screen.  Testing against null only
//   determines whether there has ever been an attempt to assign these values.
//
// FAQ
//
// Q01  Why do we not use scope names to get a hold of scopes?
// A01  Scope names started as a debugging tool.  We want to see if we can get by with that.
//      Until there's a super compelling need, we want to get by without exposing a whole new
//      namespace.
//
// Q02  Why does ::LastCreated only get set with new values if they are successfully created?
//      Won't this create subtle bugs where we send messages to the prior actor that was created,
//      b/c we are accidentally not creating a new one?
// A02  Well, it might.  But it's also a simply explained rule.  No one will remember the
//      alternative, which is something like actors/scopes created by ActorCreate, and create
//      messages sent by the user.  It also leads to simpler, less bug-prone C++ code on my end. :)
//
// Q03  Why does ActorCreate have 3 content params?  Is that many really necessary?
// A03  It is exactly enough to create a beam with a custom model and two custom sites.