mit COFFEE Winkel beschränken

Ewing

Mitglied
Hallo,

ich habe mal etwas Ähnliches gefragt, leider bin ich aber ´ne COFFEE-Niete, sodass ich den Code nicht erweitern oder verändern kann.

Hier mal das Beispiel, das mit Mark gezeigt hat:
Code:
main(doc,obj)
main(doc,obj)
{
  var rot    = obj->GetRotation();
  rot.y        = 0;
  rot.z        = 0;
  obj->SetRotation(rot);
}
Nun möchte ich jedoch, dass das Objekt, auf das dieser Code angewendet wird, nur einen bestimmten Winkelbereich sich bewegt.

Wäre schön, wenn einer, der es kann mir hilft.


Gruß J.R.

PS: Ah, bevor ich das vergesse: Der Code lässt ein Objekt lediglich in einer bestimmten Achse drehen.
 
Hallo,

Erstmal: Vorsicht, ich brauche Coffee sehr selten.

Du könntest mit einer if-condition (SDK) z.B. rot.x auf ihren Wert abfragen und bei Über oder Unterschreitung eines festgelegten Wertes diesen auf diesem belassen. (Menno, dt. Gramatik :))

Liebe Grüsse
Matthias
 
hmmm. Ist das vergleichbar - auch wenn diese Frage auch hier vielleicht gar nicht beantwortet werden kann - mit ActionScript If-Abfragen?

Das muss ich mal ausprobieren.
 
Hi!
hmmm. Ist das vergleichbar - auch wenn diese Frage auch hier vielleicht gar nicht beantwortet werden kann - mit ActionScript If-Abfragen?
Absolut, ja! :)

Code:
main(doc,obj)
{
    var min_x = -10 * 2 * pi / 360;
    var max_x =  40 * 2 * pi / 360;
    var rot   = obj->GetRotation();
    rot.y     = 0;
    rot.z     = 0;
    if (rot.x < min_x) rot.x      = min_x;
    else if (rot.x > max_x) rot.x = max_x;
    obj->SetRotation(rot);
}
...als eine Möglichkeit :)

Liebe Grüße,
Mark.
 
Habe es selbst gar nicht hin bekommen. Lag aber an dem verkehrtem Syntax. Jetzt, wo ich deine korrekte Schreibweise sehe, erinnert mich der Syntax an Java.

Funktioniert wunderbar - vielen Dank!


Gruß J.R.
 
Hi!

Unter http://www.maxon.net/pages/support/plugincafe_downloads_old_d.html findet sich die Coffee SDK 9.1 zum download. Gerade bzgl. Syntax-Recherchen Gold wert ;)
Code:
if (expression) 
    doStuff();

if (expression) 
    doStuff();
else 
    doSomethingElse();

if (expression) 
    doStuff();
else if (expression)
    doOtherStuff();
else
    doSomethingElse();

If the code to be executed is on several lines, it must be enclosed in braces, {}.

Liebe Grüße,
Mark.
 
Zurück