1.- Una imagen donde se ve el tentáculo que quiero mover, es un MovieClip el cual tiene en su interior un tentáculo, el cual es otro MovieClip y es el que tiene el esqueleto. Para ser más exactos, como esta era una prueba muy simplona tan solo trato de mover uno de sus "huesos" en este caso el último, que está pintado de azul en la imagen.

2.-Al estar en una clase, como todos sabreis puedo crear una isntancia de este y esto ocurre en un frame de la pelicula, dentro de ese frame tengo el siguiente codigo:
Código ActionScript :
import IllGame.enemy.boss.*; stage.addEventListener(MouseEvent.CLICK,prueba); //creo ese ser y lo añado al escenario var flup:Flup=new Flup(); flup.x=300; flup.y=200; stage.addChild(flup); //una función para mover el tentáculo a donde clique con el mouse function prueba(e:MouseEvent):void{ flup.moverEsqueleto(mouseX,mouseY); }
3.-esta es la clase de este "enemigo", que como veis apenas hace nada:
Código ActionScript :
package IllGame.enemy.boss{ import flash.display.MovieClip; public class Flup extends MovieClip{ public function Flup(){ } //simplemente le paso las coordenada del mouse de la posición donde cliqué //como dije, el tentaculo es un MovieClip dentro de este MovieClip //el tentáculo ya tiene un nombre de instancia que es "tentacleOne", como vereis abajo public function moverEsqueleto(x:Number,y:Number){ this.tentacleOne.moves(x,y); } } }
4.-la clase del tentáculo, la cual será padre de todos los tentaculos que tendrá este enemigo (aunque ahora solo tenga uno para simplificar el código)
Código ActionScript :
package IllGame.enemy.boss{ import flash.geom.Point; import flash.display.MovieClip; import fl.ik.*; public class Tentacle extends MovieClip{ //creo todas las variables que necesitaré relacionados con la cinemática inversa private var armature:IKArmature; private var bone:IKBone; private var joint:IKJoint; private var point:Point; private var movement:IKMover; private var armatureName:String; private var bonesName:String; private var bonesNumber:int; public function Tentacle(armatureName:String,bonesName:String,bonesNumber:int){ this.armatureName=armatureName; this.bonesName=bonesName; this.bonesNumber=bonesNumber; armature=IKManager.getArmatureByName(armatureName); } //en teoría la función que debería mover el "hueso" nº7 que es el último en el tentáculo public function moves(x:Number,y:Number){ bone=armature.getBoneByName(bonesName+"7"); joint=bone.headJoint; movement=new IKMover(joint,joint.position); movement.moveTo(new Point(x,y)); } } }
5.- Finalmente la clase correspondiente al tentáculo que veias en la imagen, que hace poco
más que mandar la información al padre a cerca de cual es su esqueleto y el nombre genérico
de sus huesos:
Código ActionScript :
package IllGame.enemy.boss { //import fl.ik.IKManager; public class FlupTentacleOne extends Tentacle{ const NUM_BONES:int=7; public function FlupTentacleOne(){ //super(IKManager.getArmatureByName("Armature_1")); super("Armature_20","ikBoneName",NUM_BONES); } } }
Siento abrumar con tanta información, pero es que al no saber donde falla esto prefiero no saltarme nada. Gracias a quien se haya tomado la molestia de leerlo e intentado ayudarme

pd:al ejecutar el codigo y todo eso la posición del esqueleto si cambia en sus variables, teniendo un nuevo punto x,y; pero visualmente no se mueve ni un solo milimetro u_u