|
|
|||||
Регистрация: Nov 2012
Сообщений: 5
|
Flash приложение
Здравствуйте, разрабатываю код будущей игры. Решил сделать такую структуру игры. Главный файл, регистрируется на сервере, получает данные о пользователе, потом начинает работу свой класс Preloader, он начинает загружать файлы игры. После загрузки второстепенных файлов, программа запускает класс GUI, который отображает все что загрузилось на сцене. Хотел бы, что бы вы чего-нибудь посоветовали..
Привет первые наброски. //Главный Класс package src.main { import vk.APIConnection; import src.lap.FirstLap; import flash.display.MovieClip; import flash.events.Event; public class TwoGuns extends MovieClip { var flashVars:Object; var VK:APIConnection; public function TwoGuns() { addEventListener(Event.ADDED_TO_STAGE, init); } function init(e:Event):void { removeEventListener(Event.ADDED_TO_STAGE, init); flashVars = stage.loaderInfo.parameters as Object; if (! flashVars.api_id) { flashVars['api_id'] = 3252185; flashVars['viewer_id'] = 101471034; flashVars['sid'] = "ab60794b0ddae8653739d51cc44158b3205c87d865715388e90f6b15bc83bc"; flashVars['secret'] = "159ce7af6e"; } VK = new APIConnection(flashVars); var firstLap:FirstLap = new FirstLap(VK, flashVars); } } } package src.lap { import vk.APIConnection; import src.lap.Preload; public class FirstLap { public function FirstLap(VK:APIConnection, flashVars:Object) { firstLap(VK, flashVars); } function firstLap(VK:APIConnection, flashVars:Object):void { VK.api("isAppUser", {}, isAppUserTrue, isAppUserFalse); function isAppUserTrue(data:Object):void { isDataBase(flashVars['viewer_id']); } function isAppUserFalse(data:Object):void { trace('Добавить приложение!'); } function isDataBase(id:Number):void { trace('Проверка, существует ли данный пользователь в базе id ' + id); var isDataBase:Boolean = true;//Временное значение if (! isDataBase) { trace('Регистрация ' + id); isDataBase = true;//Временное значение } if (isDataBase) { trace('загрузка'); var loader:Preload = new Preload(); } else { trace('Ошибка при регистрации'); } } } } } package src.lap { import flash.display.Loader; import flash.net.URLRequest; import flash.display.MovieClip; import flash.events.Event; public class Preload extends MovieClip { public var loader:Loader; public var request:URLRequest; private const ARRAY_DOWNALDS:Array = new Array('http://cs10646.userapi.com/u1417875/e_9eb6acc4.jpg'); public function Preload() { request = new URLRequest(ARRAY_DOWNALDS[0]); loader = new Loader(); loader.load(request); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, imgLoaded); } function imgLoaded(e:Event) { loader.x = 150; loader.y = 150; addChild(loader) } } } И еще вопрос, почему класс Preloader, после загрузки файла не отображает загруженную картинку? Спасибо. Не судите строго, изучаю не так много. |
|
|||||
[+4 08.09.13]
Регистрация: May 2012
Сообщений: 131
|
Мои глаза медленно вытекают...
Изучаете немного, говорите? Вернитесь лучше к азам. DisplayObjectContainer - и манипулирование с ним... Событийность... Понятие линейного выполнения кода... Вы не понимаете сути того, что пишете и что происходит (и что должно происходить). А без Вашего понимания - Вы обрекаете любого советчика на абсолютно бесполезный труд. Ещё раз повторюсь - возвращайтесь к азам. Пока не поздно. (и если Вас конечно интересует программирование в принципе). Хотя, судя по характеру кода и намеренному влезанию в апи уютненького - Вы просто хотите перед кем-то выпендриться. |
|
|||||
Цитата:
п.с. Класс FirstLap вообще работает? В нем вообще структура кривая. Нужно избавляться от вложенных функций и выносить их на уровень класса. Так же не мешало бы добавить функциям модификаторы доступа. Тут можно всем добавить private. Пока в них по умолчанию используется internal. Советую так же почитать про модификаторы доступа. |
Часовой пояс GMT +4, время: 19:09. |
|
« Предыдущая тема | Следующая тема » |
|
|