Tout d'abord qu'est ce que la V-cam :
La Vcam permet de voir tout les mouvements, c'est-à-dire, plus besoin de déplacer votre perso et votre décors, vous déplacer juste la vcam, même hors de la scène. Mieux encore, vous pouvez zoomer avec la vcam, vous la rétrécissez ou vous l'agrandissez.
Voici un test de V-cam : Lien
Comment marche la V-cam : C'est un clip que je vous pouvez bouger, rétrécir, agrandir, interpoler etc...
Voici ma V-cam dans flash, les V-cam peuvent varier : Lien
Comment construire une V-cam :
-Créez un clip et nommez le V-cam. ( insertion-nouveau symbole )
-Dans le clip V-cam insérez un autre calque. ( insertion-scénario-calque )
-Nommez les de bas en haut :
Code
Ecran
Image : Lien
Dans le calque "Ecran" dessinez votre V-cam et mettez une couleur noir avec un alpha de 40%
Image : Lien
Dans le calque code, allez dans actions et tapez le code suivant :
-Allez dans séquence* et faites glisser de votre bibliotheque votre Vcam sur la scène principale dans le premier calque... Voilà vous avez fait une V-cam n'hésitez pas à me posez des questions.
* Pour retourner dans séquence : Image
import flash.display.Bitmapdata; _visible = false; addProperty("_x2",get_x2,set_x2); addProperty("_y2",get_y2,set_y2); addProperty("_xscale2",get_xscale2,set_xscale2); addProperty("_yscale2",get_yscale2,set_yscale2); addProperty("_rotation2",get_rotation2,set_rotation2); var oldScaleMode:String = stage.scaleMode; stage.scaleMode = "exactFit"; var sW:Number = Stage.width; var sH:Number = Stage.height; stage.scaleMode = oldScaleMode; var bounds_obj:Object = this.getBounds(this); var camH:Number = Math.abs(bounds_obj.yMax-bounds_obj.yMin); var camW:Number = Math.abs(bounds_obj.xMax-bounds_obj.xMin); var rp = {x:this._x, y:this._y}; onEnterFrame = function ():Void { camControl(); }; function camControl():Void { rp.x = _x; rp.y = _y; var h:Number = camH*(_yscale*.01); var w:Number = camW*(_xscale*.01); var _scaleY:Number = sH/h; var _scaleX:Number = sW/w; _x2 = (w/2)*_scaleX; _y2 = (h/2)*_scaleY; _xscale2 = _scaleX*100; _yscale2 = _scaleY*100; _rotation2 = -_rotation; _parent.filters = this.filters; _parent.transform.colorTransform = this.transform.colorTransform; } this.onUnload = reset; function reset():Void { _parent._xscale = 100; _parent._yscale = 100; _parent._x = 0; _parent._y = 0; _parent._rotation = 0; _parent._visible = true; } function set_x2(value:Number):Void { var a = {x:rp.x, y:rp.y}; _parent.localToGlobal(a); _parent._x += value-a.x; } function get_x2():Number { var a = {x:rp.x, y:rp.y}; _parent.localToGlobal(a); return a.x; } function set_y2(value:Number):Void { var a = {x:rp.x, y:rp.y}; _parent.localToGlobal(a); _parent._y += value-a.y; } function get_y2():Number { var a = {x:rp.x, y:rp.y}; _parent.localToGlobal(a); return a.y; } function get_xscale2():Number { return _parent._xscale; } function set_xscale2(value:Number):Void { setProperty2("_xscale",value); } function get_yscale2():Number { return _parent._yscale; } function set_yscale2(value:Number):Void { setProperty2("_yscale",value); } function get_rotation2():Number { return parent.rotation; } function set_rotation2(value:Number):Void { setProperty2("_rotation",value); } function setProperty2(prop:String, n:Number):Void { var a = {x:rp.x, y:rp.y}; _parent.localToGlobal(a); _parent[prop] = n; var b = {x:rp.x, y:rp.y}; _parent.localToGlobal(b); _parent._x -= b.x-a.x; _parent._y -= b.y-a.y; }