Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Flash AIR中创建类似Android Gallery的Gallery_Flash_Air_Galleryview - Fatal编程技术网

如何在Flash AIR中创建类似Android Gallery的Gallery

如何在Flash AIR中创建类似Android Gallery的Gallery,flash,air,galleryview,Flash,Air,Galleryview,如何创建像Android gallery这样的图库,当用户将图像缩放到最右/最左时,它可以缩放、滑动导航并滑动到下一个内容 此外,内容(MovieClip)可能包含按钮和滑块等交互式对象,是否可以使用1个手指导航(触摸事件)创建?如果没有,可能应该使用双指导航(平移) 我已经在谷歌上做了一些搜索,但是这个话题在FlashAir中并不常见,所以我还没有找到它 谢谢。要分解它,您首先需要从自包含加载程序加载图像,或者让用户选择该文件: 按用户加载图像: var holder = new m

如何创建像Android gallery这样的图库,当用户将图像缩放到最右/最左时,它可以缩放、滑动导航并滑动到下一个内容

此外,内容(MovieClip)可能包含按钮和滑块等交互式对象,是否可以使用1个手指导航(触摸事件)创建?如果没有,可能应该使用双指导航(平移)

我已经在谷歌上做了一些搜索,但是这个话题在FlashAir中并不常见,所以我还没有找到它


谢谢。

要分解它,您首先需要从自包含加载程序加载图像,或者让用户选择该文件: 按用户加载图像:

     var holder = new movieClip;
     Addchild(holder)
     var file:FileReference;
     var fileLoader:Loader;

      function start()
      {
      loadImageBtn.addEventListener(MouseEvent.CLICK, showDialog);
      }
      start();

      function showDialog(event:MouseEvent):void
      {
      file = new FileReference();

      var imageFileTypes:FileFilter = new FileFilter("Images (*.png; ","*.png;");

      file.browse([imageFileTypes]);
      file.addEventListener(Event.SELECT, selectFile);
       }

       function selectFile(e:Event):void
       {
      file.addEventListener(Event.COMPLETE, loadFile);
      file.load();
       }

       function loadFile(e:Event):void
       {
   fileLoader = new Loader();

   fileLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, displayImage);
   fileLoader.loadBytes(file.data);
       }

       function displayImage(e:Event):void
       {
   holder.addChild(fileLoader);
       }
然后,您需要能够在内容周围移动:

       var maxY:Number = 0;
       var minY:Number = Math.min(0,stage.stageHeight - holder.height - 300);
       var _startY:Number;
       var _startMouseY:Number;
       addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);

       function mouseDownHandler(event:MouseEvent):void
       {
   _startY = holder.y;
   _startMouseY = mouseY;
   stage.addEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler, false, 0, true);
   stage.addEventListener(MouseEvent.MOUSE_UP, stage_mouseUpHandler, false, 0, true);
       }

       function stage_mouseMoveHandler(event:MouseEvent):void
       {
   var offsetY:Number = mouseY - _startMouseY;
   holder.y = Math.max(Math.min(maxY,_startY + offsetY),minY);
       }

       function stage_mouseUpHandler(event:MouseEvent):void
       {
   stage.removeEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler);
   stage.removeEventListener(MouseEvent.MOUSE_UP, stage_mouseUpHandler);

       }
如果你像我想象的那样想要几个图像,你可以阅读它们,将每个图像放入一个数组中进行存储,并将每个项目像网格类型的图案一样放置在一个列中,或按其自身的高度或宽度分隔

            var array()
        for (i = 0; i <items; i++)
    {

        items.x =  170+ i * (item.width + 1);
                    //you can add child
    }
var数组()
对于(i=0;i