Kategorie: Objekte
/ Status
Ab Engineversion: 1.0 OC
SetTransferZone
Beschreibung
Setzt einen neuen Transferbereich für das aufrufende Objekt. Führt die Suche der Wegfindung durch einen Transferbereich (dieser gilt für die Wegfindung immer als komplett durchlaufbar), werden für den Clonk ControlTransfer-Aufrufe an das Script des Objekts aufgerufen. In diesen sollte mit Hilfe von Befehlen dafür gesorgt werden, dass der Clonk an seine Zielposition kommt.
Syntax
bool SetTransferZone(int x, int y, int width, int height);
Parameter
- x:
- X-Position der oberen linken Ecke der neuen Transferzone; relativ zum Objektmittelpunkt
- y:
- Y-Position der oberen linken Ecke der neuen Transferzone; relativ zum Objektmittelpunkt
- width:
- Breite der neuen Transferzone
- height:
- Höhe der neuen Transferzone
Anmerkung
Transferzonen müssen neu gesetzt werden, wenn sich das Objekt bewegt. Außerdem sollten sie immer als Antwort auf einen OnSynchronized-Callback der Engine neu gesetzt werden.
Beispiel
protected func Initialize() { return OnSynchronized(); } protected func OnSynchronized() { return SetTransferZone(-GetX(), -GetY(), LandscapeWidth(), LandscapeHeight()); protected func ControlTransfer(clonk, endx, endy) { clonk->SetPosition(endx, endy); return 1; }
Script für ein Cheatobjekt: Ein Spieler, der mit der Maussteuerung an ein Ziel klickt, wird sofort dorthin versetzt.