2017-12-15 4 views
0

Ich bin neu in Mel Skript. Ich weiß, dass ich Xray manuell mit dem Code umschalten kann.Toggle xRay für ausgewähltes Objekt in Maya mit Skript

displaySurface -xRay true; //Xray on 
displaySurface -xRay false; //Xray off 

Aber ich mag es automatisch wechseln, wie

if(xRay on) 
set xRay off 
else 
set xRay on 

Ich weiß, dass ich xRay mit dem Befehl überprüfen kann ein- oder ausgeschaltet

displaySurface -query -xRay; 

Aber ich kann einfach nicht setzen dieser Befehl in if block. Ich habe viele Dinge wie den Code unten versucht, aber nichts funktioniert.

if(`displaySurface -query -xRay` == 1) // Error: line 1: Cannot use data of type int[] in a scalar operation. // 
print("To be or not to be"); 

Antwort

0

Sieht aus wie displaySurface -query -xRay gibt ein Array zurück. Dies funktionierte für mich:

int $y[] = `displaySurface -query -xRay`; 

if($y[0] == 1) 
print("To be or not to be"); 
0

Die Klammern nach int im Fehler Cannot use data of type int[] zeigt an, dass die Funktion eine Integer-Array zurückgibt. Sie müssen also das erste Element [0] des Arrays nehmen.

$xRayOnArray = `displaySurface -q -xRay`; 
if ($xRayOnArray[0] == 0) { 
    print("X-Ray is enabled"); 
} else { 
    print("X-Ray is disabled"); 
} 

Warum es ein Array zurückgibt, ist ein Puzzle. Es ist nicht dokumentiert und die Funktion kann nur ein einzelnes Objekt gleichzeitig abfragen.

Verwandte Themen