Я разрабатываю не родное приложение для iOS, используя AS3 поверх Flash CS5.5.Приложение имеет функцию фотографирования с обеих камер (очевидно, по одной в любое время, а не одновременно), и моя проблема состоит в том, что я не знаю, как справиться с поворотом изображения, которое я вижу на моемустройство.
Я ищу решение, но у меня нет решения, которое решает мою проблему.
Вот мой код:
package
{
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.ActivityEvent;
import flash.events.MouseEvent;
import flash.media.Camera;
import flash.media.Video;
public class Main extends Sprite
{
private var cam:Camera;
private var vid:Video;
public function Main()
{
super();
// support autoOrients
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
cam = Camera.getCamera();
if (!cam)
{
trace("No camera is installed.");
}
else
{
connectCamera();
}
}
private function connectCamera():void
{
cam.setMode(320, 480, 25);
cam.setQuality(0,100);
vid = new Video();
vid.width = cam.width;
vid.height = cam.height;
vid.attachCamera(cam);
addChild(vid);
}
}
}
Прежде всего, спасибо за ваше время.Я уже обновил настройки автоориентации, и вот код, которым я управляю:
package
{
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.ActivityEvent;
import flash.events.MouseEvent;
import flash.media.Camera;
import flash.media.Video;
import flash.events.StageOrientationEvent;
import flash.display.StageOrientation;
public class Main2 extends Sprite
{
private var cam:Camera;
private var vid:Video;
public var _currentOrientation:String;
public function Main2()
{
cam = Camera.getCamera();
if (! cam)
{
trace("No camera is installed.");
}
else
{
connectCamera();
}
stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGING, orientationChangeListener);
}
private function connectCamera():void
{
cam.setMode(480, 320, 25);
cam.setQuality(0,100);
vid= new Video();
vid.width = cam.width;
vid.height = cam.height;
vid.attachCamera(cam);
addChild(vid);
}
private function orientationChangeListener(e:StageOrientationEvent):void
{
switch (e.afterOrientation)
{
case StageOrientation.DEFAULT :
_currentOrientation = "DEFAULT";
//set rotation value here
stage.rotation = 0;
break;
case StageOrientation.ROTATED_RIGHT :
_currentOrientation = "ROTATED_RIGHT";
//set rotation value here
stage.rotation = -90;
break;
case StageOrientation.ROTATED_LEFT :
_currentOrientation = "ROTATED_LEFT";
//set rotation value here
stage.rotation = 90;
break;
case StageOrientation.UPSIDE_DOWN :
_currentOrientation = "UPSIDE_DOWN";
//set rotation value here
stage.rotation = 180;
break;
}
}
}
}
Несмотря на предложения с переключателями, при запуске приложения вы видите изображение с камеры.Поворот на 90 градусов, и когда вы устанавливаете устройство (iPhone 4) в горизонтальное положение (вправо или влево), изображение складывается хорошо.И когда вы поворачиваете назад, изображение становится плохим, как при запуске.
Заранее спасибо.
PS: Извините за мой английский.PS2: отредактировано.