我正在尝试在 GestureWorks AIR 应用程序中创建一个组件,该应用程序在 touchsprite 容器中呈现 stageWebView。鉴于 stageWebView 不是显示对象,这可能吗?
下面是代码:
包视图{
import com.gestureworks.core.GestureWorks;
import com.gestureworks.core.TouchSprite;
import com.gestureworks.events.GWGestureEvent;
import com.modestmaps.Map;
import com.modestmaps.events.MapEvent;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.DisplayObject;
import flash.display.Loader;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.display.Stage;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.geom.Rectangle;
import flash.media.StageWebView;
import flash.net.URLLoader;
import flash.net.URLRequest;
public class webView extends TouchSprite
{
private var urlAddress:String = "http://google.com";
public var stageWebView:StageWebView = new StageWebView();
private var ts:TouchSprite;
public function webView()
{
super();
init();
}
private function init():void
{
ts = new TouchSprite();
ts.width = 500;
ts.height = 500;
ts.x = 200;
ts.y = 100;
ts.rotation = 45;
ts.scaleX = 0.5;
ts.scaleY = 0.5;
ts.gestureEvents = true;
ts.disableAffineTransform = false;
ts.gestureList = { "n-drag":true, "n-scale":true, "n-rotate":true };
ts.addEventListener(GWGestureEvent.DRAG, gestureDragHandler);
ts.addEventListener(GWGestureEvent.ROTATE, gestureRotateHandler);
ts.addEventListener(GWGestureEvent.SCALE, gestureScaleHandler);
if(StageWebView.isSupported == true)
{
stageWebView.stage = this.stage;
stageWebView.viewPort = new Rectangle(0,0, 500, 500);
//stageWebView.addEventListener(LocationChangeEvent.LOCATION_CHANGE, locationChangedHandler);
//stage.scaleMode = StageScaleMode.EXACT_FIT;
//this.stage.addEventListener(Event.RESIZE, resizeEvent);
getURL();
}
else
{
urlAddress = "StageWebView not supported";
}
ts.addChild(stageWebView as DisplayObject);
addChild(ts);
}
protected function getURL():void
{
stageWebView.loadURL(urlAddress);
//stageWebView.addEventListener(Event.COMPLETE,handleLoad);
}