簡體   English   中英

AS3-從URL加載圖像坐標

[英]AS3 - Loading Image Coordinates from URL

我正在使用Flash Pro CC在Air中開發用於Android的Android應用程序,並且我厭倦了一直推送更新以更改需要每隔幾天移動到特定位置的圖像的生成位置。 我要等到需要推送更新的幾分鍾后才能知道位置,而讓應用程序從我的網站啟動時以.txt文件形式加載圖像的生成坐標會更快得多。 我需要在文件中鍵入X和Y坐標的地方,然后加載信息,AS3在這些坐標處生成圖像。 如果文本文件中沒有可用的坐標(因為一周中的5天將沒有坐標),則無論放置在哪里,都需要顯示其他圖像。 我可能只是為此准備了一個單獨的框架。

如果能在補間動畫中使用該圖像,我們將不勝感激,並且我更喜歡它,但如果不能,那么我會解決一些問題。

注意:我是AS3編碼的新手,但我想出了Flash本身可以對時間軸進行動畫處理。

看一下URLRequestURLLoader來檢索數據。 要在特定位置生成圖像,請考慮移動圖像。 舞台上的任何對象都是DisplayObject ,並且DisplayObjects具有屬性xy 要換出圖像,請查看DisplayObjectContainer ,特別是函數DisplayObjectContainer.addChild(child:DisplayObject)DisplayObjectContainer.removeChild(child:DisplayObject) 我提供了每個相關功能的文檔鏈接。

如果是每天更新,則也可以查看Date類-這將使您找出日期,以及是否需要發出url請求來加載文本文件以顯示圖像。

如果您對使用這些類有任何特定的問題,我認為最好是提出一個新問題,並提供一個指向該上下文的鏈接。 您會英語很好,而對AS3不太好(如您所說),因此我可以在需要的地方解釋相關的知識,但是如果我一次性解釋所有功能,那將是一個漫長而復雜的故事。 ...我想您會發現這些類名也將使谷歌搜索更加容易。


我希望您必須使用帶有URLRequestURLLoader來加載文本文件,然后根據結果,通過圖像添加圖像(如果尚不存在)通過addChild將其添加到舞台上,然后設置其xy值。 您必須使用Date類檢查每次用戶啟動應用程序或執行某些特定操作時是否需要發出新請求。

我在這里有完成的代碼。 loadURL是Flash加載的文檔類。 一切正常!

package  {
    // IMPORTS EVENTS USED
    import flash.display.MovieClip;
    import flash.net.URLRequest;
    import flash.net.URLLoader;
    import flash.events.UncaughtErrorEvent;
    import flash.events.ErrorEvent;
    import flash.events.Event;

    // DECLARES VARIABLES
    public class loadURL extends MovieClip {
        public var Xurl:String = "URL GOES HERE";
        public var Yurl:String = "URL GOES HERE";
        public var URLloaderX:URLLoader = new URLLoader();
        public var URLloaderY:URLLoader = new URLLoader();
        public var marker:Marker = new Marker();
        public var gone:Gone = new Gone();
        public var connectionerr:ConnectionErr = new ConnectionErr();

        // CODE EXECUTED UPON LAUNCH
        public function loadURL() {
            // constructor code
            trace("Loaded");
            URLloaderX.addEventListener(Event.COMPLETE, completeHandlerX);
            URLloaderX.load(new URLRequest(Xurl));
            URLloaderY.addEventListener(Event.COMPLETE, completeHandlerY);
            URLloaderY.load(new URLRequest(Yurl));
            loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, onUncaughtError);
        }
function completeHandlerX(event:Event):void
    {
        if(URLloaderX.data == null||URLloaderX.data==(""))
            {addChild(gone)}
        else{addChild(marker);marker.x = (URLloaderX.data)}
    }
function completeHandlerY(event:Event):void
    {
        if(URLloaderY.data == null||URLloaderY.data==("")){}
            marker.y = (URLloaderY.data)
    }

private function onUncaughtError(e:UncaughtErrorEvent):void //Checks for no internet connection

    {
        e.preventDefault(); //leave this

// RESULT OF NO INTERNET HERE
        addChild(connectionerr);
    }   
    }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM