所以,我是一个新的actionScript和JSON,并且无法弄清楚如何调整代码以便能够将其粘贴到关键帧。我有来自的代码。
http://snipplr.com/view/56283/
我收到编译错误。
场景1,层'AC',第1帧,第2行1037:包不能嵌套
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
import com.adobe.serialization.json.JSON;
public class Main extends Sprite
{
private var _jsonPath:String = "json_example.txt";
public function Main():void
{
if (stage)
init();
else
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest();
request.url = _jsonPath;
loader.addEventListener(Event.COMPLETE, onLoaderComplete);
loader.load(request);
}
private function onLoaderComplete(e:Event):void
{
var loader:URLLoader = URLLoader(e.target);
var jsonArray:Array = JSON.decode(loader.data);
trace("loader.data: " + loader.data);
trace(jsonArray[0].Id);
// 7
trace(jsonArray[0].Mentions[0].Id);
// 5
trace(jsonArray[0].Mentions[0].StatusId);
// 34
trace(jsonArray[0].Mentions[0].CreatedDateTime);
// /Date(1310051914617+0100)/
trace(jsonArray[0].Mentions[0].Text);
// Text
trace(jsonArray[0].Mentions[0].UserName);
// Username
trace(jsonArray[0].Mentions[0].UserLocation);
// UK
trace(jsonArray[0].Mentions[0].UserLanguage);
// en-GB
trace(jsonArray[0].Mentions[0].IsCheckIn);
// true
trace(jsonArray[0].Tips[0].Id);
// 5
trace(jsonArray[0].Tips[0].FourSquareId);
// 7e06c4b2-1fb5-4f35-9619-c99a384f5ae7
trace(jsonArray[0].Tips[0].CreatedAt);
// /Date(1310051914636+0100)/
trace(jsonArray[0].Tips[0].Text);
// Text
trace(jsonArray[0].Tips[0].Username);
// Username
trace(jsonArray[0].Checkins);
// 0
trace(jsonArray[0].HereNow);
// 0
trace(jsonArray[0].TimeStamp);
// /Date(1310051914639+0100)/
trace(jsonArray[0].Venue.Id);
// 7
trace(jsonArray[0].Venue.FoursquareId);
// cacbf3bd-f0aa-403d-9f9b-2056b4985ba1
trace(jsonArray[0].Venue.Name);
// Venue Name
}
}
}
答案 0 :(得分:0)
只需删除所有特定于类的内容,并使用以下内容:
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
import com.adobe.serialization.json.JSON;
var _jsonPath:String = "json_example.txt";
function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest();
request.url = _jsonPath;
loader.addEventListener(Event.COMPLETE, onLoaderComplete);
loader.load(request);
}
init(); // call it so it can start
function onLoaderComplete(e:Event):void
{
var loader:URLLoader = URLLoader(e.target);
var jsonArray:Array = JSON.decode(loader.data);
trace("loader.data: " + loader.data);
trace(jsonArray[0].Id);
// 7
trace(jsonArray[0].Mentions[0].Id);
// 5
trace(jsonArray[0].Mentions[0].StatusId);
// 34
trace(jsonArray[0].Mentions[0].CreatedDateTime);
// /Date(1310051914617+0100)/
trace(jsonArray[0].Mentions[0].Text);
// Text
trace(jsonArray[0].Mentions[0].UserName);
// Username
trace(jsonArray[0].Mentions[0].UserLocation);
// UK
trace(jsonArray[0].Mentions[0].UserLanguage);
// en-GB
trace(jsonArray[0].Mentions[0].IsCheckIn);
// true
trace(jsonArray[0].Tips[0].Id);
// 5
trace(jsonArray[0].Tips[0].FourSquareId);
// 7e06c4b2-1fb5-4f35-9619-c99a384f5ae7
trace(jsonArray[0].Tips[0].CreatedAt);
// /Date(1310051914636+0100)/
trace(jsonArray[0].Tips[0].Text);
// Text
trace(jsonArray[0].Tips[0].Username);
// Username
trace(jsonArray[0].Checkins);
// 0
trace(jsonArray[0].HereNow);
// 0
trace(jsonArray[0].TimeStamp);
// /Date(1310051914639+0100)/
trace(jsonArray[0].Venue.Id);
// 7
trace(jsonArray[0].Venue.FoursquareId);
// cacbf3bd-f0aa-403d-9f9b-2056b4985ba1
trace(jsonArray[0].Venue.Name);
// Venue Name
}
答案 1 :(得分:-1)
您不会将此类代码放入关键帧中,而是将其放入actionscript(.as)文件中。尝试将代码保存为与.fla文件位于同一文件夹中的 .as 文件。然后在Flash属性面板中将“Main”设为“Main”。
'Main'必须扩展'MovieClip'而非'Sprite。'
如果您从代码中的'
中删除'package
,也会有所帮助。
你可能仍然会遇到错误,但它们会更好,然后我们可以考虑它们。