Angle, distance et placement de clip

Description

Que cela vous serve !

Proto de distance entre deux clips, d'angle...

Et surtout :
Placement de clip selon un angle et une distance
De son point d'orgine ou pas ou enfin à partir d un autre point !

PS : Un grand merci à AFAD, pour sa précieuse aide ; )

Source / Exemple :



// Copyright2003 - Top30 pour hope_multimedias // ----- Libre d'usage sans but commercial ---- // *************************************************************** MovieClip.prototype.placeTo = function (angle, distance, himSelf) { // ------------------------------------------------------------------------- // Se place à partir d'un point 0 si "himSelf" egale true, sinon à partir de son origine this._x = (distance * Math.cos (angle * Math.PI / 180)) + (himSelf ? this._x : 0); this._y = (distance * Math.sin (angle * Math.PI / 180)) + (himSelf ? this._y : 0); }; // *************************************************************** MovieClip.prototype.placeFrom = function (angle, distance, obj) { // ------------------------------------------------------------------------- // Se place à partir d'un object contenant un _x et un _y // Object et non clip car les clips sont des onject et ceci permet de passer comme // obj un point creer avec setPoint par exemple // Voir exemple plus bas... this._x = (distance * Math.cos (angle * Math.PI / 180)) + obj._x; this._y = (distance * Math.sin (angle * Math.PI / 180)) + obj._y; }; // *************************************************************** MovieClip.prototype.setPoint = function (ptName, X, Y) { // ---------------------------------------------------------------------------------- (this[ptName] == undefined) ? this[ptName] = new Object () : null; this[ptName]._x = (X == undefined) ? this._x : X; this[ptName]._y = (Y == undefined) ? this._y : Y; }; // *************************************************************** MovieClip.prototype.distanceOf = function (obj2) { // ---------------------------------------------------------------------------------- var delta_x = this._x - obj2._x; var delta_y = this._y - obj2._y; return Math.sqrt ((delta_x * delta_x) + (delta_y * delta_y)); }; // *************************************************************** MovieClip.prototype.angleWith = function (obj2) { // ------------------------------------------------------------------------- var delta_x = this._x - obj2._x; var delta_y = this._y - obj2._y; var radians = Math.atan2 (delta_y, delta_x); (delta_y < 0) ? radians += (2 * Math.PI) : null; return radians / (Math.PI / 180); }; // *************************************************************** clipA.placeTo (210, 180, true); // this.setPoint ("ptTest", -150, -150); clipB.placeFrom (45, 400, ptTest); // this.onEnterFrame = function () { var dis = _root.clipA.distanceOf (_root.clipB); // Permet de récupérer les coordonnées de la souris // et de les manipuler comme un clip puisque il contient // un _x et et _y this.setPoint ("_mouse", _root._xmouse, _root._ymouse); this.text_txt.text = Math.round (dis) + " px séparent les deux clips"; };

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.