首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在GestureWorks TouchSprite中实现stageWebView

在GestureWorks TouchSprite中实现stageWebView
EN

Stack Overflow用户
提问于 2012-06-18 23:40:57
回答 1查看 590关注 0票数 0

我正在尝试在一个GestureWorks AIR应用程序中创建一个组件,该组件在一个touchsprite容器中呈现一个stageWebView。假设stageWebView不是一个显示对象,这可能吗?

代码如下:

包视图{

代码语言:javascript
复制
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);


    }
EN

回答 1

Stack Overflow用户

发布于 2012-06-19 03:18:17

不是的。由于StageWebView不是显示对象,因此不能将其添加到另一个要自动管理的对象中。

您可以从sprite手动管理它--当sprite显示时,显示web视图,当sprite调整大小时,调整web视图的大小,等等。

如果您的web视图在呈现后覆盖了整个TouchSprite,我敢肯定您的sprite不会接收手势事件--这些事件将由本机组件处理。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11086261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档