2017-04-03 4 views
2

J'essaie de faire pivoter un flux de caméra en direct de 90 degrés, afin que l'orientation soit correcte. Voici ce que j'ai jusqu'ici mais ça ne fera rien avec la rotation.Rotation d'un flux de caméra dans Actionscript 3

 public function setupCamera(param1:int, param2:int) : void 
 
     { 
 
     camera = Camera.getCamera("1"); 
 
     camera.addEventListener(StatusEvent.STATUS,camStatusHandler); 
 
     camera.setMode(param1,param2,stage.frameRate); 
 
     video = new Video(param1,param2); 
 
     video.scaleX = -1; 
 
\t \t  video.rotation = 90; 
 
     video.x = video_placement.x + video_placement.width; 
 
     video.y = video_placement.y; 
 
     video.attachCamera(camera); 
 
     addChildAt(video,0); 
 
     }

+0

cela devrait fonctionner, mais vous devrez ajuster votre position pour compenser l'échelle et la rotation (qui est probablement le faisant aller hors écran) – BadFeelingAboutThis

+0

"Ne fera rien w avec la rotation ... "alors rien ne se passe? Pas d'erreur? Pas de vidéo? Non rien? –

Répondre

1

Très probablement, la rotation fonctionne. Le problème est que lorsque vous faites pivoter de 90 degrés, le point d'ancrage/enregistrement est maintenant le coin supérieur droit (donc si c'est à la position 0,0, la vidéo apparaîtra hors écran, ce qui donnera l'impression que cela ne fonctionne pas).

Vous pouvez compenser en ajoutant la largeur de la vidéo sur sa position:

video.x = video.width + video_placement.x; 

De la même manière, le réglage de la balance à -1 invertis le point d'enregistrement, et puisque vous avez fait pivoter l'objet besoin de compenser sur le plan y en ajoutant la hauteur de la vidéo à sa position:

video.y = video.height + video_placement.y;