![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 33
|
Здравствуйте!
Крайне необходимы ваши советы и где-то, конечно, помощь. Как начинающий, думаю мне не имеет особого смысла начинать изучать старые версии ActionScript . Но неприятность, как вы и без меня знаете, заключается в том, что для новой третьей версии достаточно мало примеров и туториалов, как в общем и литературы, что нельзя сказать про предыдущие версии(для последних в нэте примеров тонны, выбирай – не хочу). Если для людей бывалых, это не составляет особой проблемы, то для новичков, а в особенности, кто до этого вообще практически программированием не занимался, это является весомым препятствием для скорейшего усвоения материала. Как студенту, мне данный момент особенно критичен. Поэтому прошу вашего содействия, т.к. темы которые я хотел бы поднять(поиск тщательно использовался, не говоря уже о таком же изучении ФАКа с правилами), по моему скромному мнению, достаточно начального уровня и как мне кажется не займут много вашего внимания и будут крайне полезными как для меня, так и для других новичков. Ну, начнём по пунктам: 1)Прелоадер. По примеру( http://flasher.ru/forum/showthread.p...147#post535147 ) в факе сделал прелоадер. Но имеется неприятная проблема, а точнее две. Первая. Показ SWFмувика, который усердно подгружал прелоадер, начинается не с первого, а с того кадра , как если отнять время предзагрузки от общего время демонстрации SWFролика. То есть, проще говоря, такое ощущение, что мувик начинает проигрывание во время работы прелоадера. А когда предзагрузка заканчивается, отображается только оставшееся время проигрывания. Вот линк с примером( http://www.zone-rouge.net/pln/01.html ), который наглядно покажет, что я имею в виду. После первой загрузки отобразится только последняя секунда-две ролика. А если потом обновить страницу, то уже из кэша ролик подгрузится сразу и проигрывание будет корректным. Подскажите, что необходимо добавить в код чтобы убрать данную засаду? И вторая засада. В самом начале, ещё до появления загрузчика, появляется белый кадр на пол секунды, максимум одну. От чего зависит это? Без прелоадера такого белого кадра не наблюдается, но и ролик «тупит», т.к. до конца не загрузился. SWFка представляет из себя простое чередование растровых изображений. Вот линк на все исходники. http://www.zone-rouge.net/pln/test.rar А ниже сам код прелоадера. Отличия от примера минимальны, но думаю всё же лучше скопировать его сюда. package {
import flash.display.Sprite;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFieldAutoSize;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.ProgressEvent;
public class Test extends Sprite {
private var loader:Loader = new Loader();
private var loadStatus:TextField = new TextField();
private var textformat:TextFormat = new TextFormat;
private var request:URLRequest = new URLRequest("mc01.swf");
public function Test() {
loader.load(request); loader.contentLoaderInfo.addEventListener(Event.OPEN,displayPreloader); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,updatePreloader); loader.contentLoaderInfo.addEventListener(Event.COMPLETE,displayImage);
}
private function displayPreloader(evt:Event):void {
loadStatus.autoSize = TextFieldAutoSize.LEFT;
addChild(loadStatus);
}
private function updatePreloader(evt:ProgressEvent):void {
loadStatus.text = "loaded:"+evt.bytesLoaded+" from "+evt.bytesTotal;
loadStatus.x = 250;
loadStatus.y = 150;
textformat.font = "Helvetica";
textformat.color = 0xFF0000;
textformat.size = 24;
loadStatus.setTextFormat(textformat);
}
private function displayImage(evt:Event):void {
removeChild(loadStatus);
addChild(loader);
}
}
}
2)Подгрузка SWF файла Есть необходимость по окончании проигрывания SWFфайла о котором шла речь выше, подгрузить(отобразить) другой SWFфайл(меню сайта с кнопками и тому подобное), при этом выгрузить первый. 3)Изменение вида курсора. В моём случае хочется сделать курсор следующего вида. Две перпендикулярных пересекающиеся(разумеется под прямым углом) линии, начинающиеся от сторон периметра объекта и пересекаются в месте предполагаемого курсора. При перемещении курсора, координаты их пересечения соответственно изменяются. Т.е. пересечение это и будет являться индикатором курсора, вертикальная линия перемещается по горизонтали, а горизонтальная, соответственно, по вертикали. А объект представляет из себя либо область отображения(stage), либо мувиклип неправленой формы размером чуть меньше области отображения, в случае с мивиклипом, линии, разумеется, не должны выходить за его периметр. Но если курсор выходит за пределы периметра, то он становится обычной мышиной стрелкой, а пересечение линий бы оставалось в том месте внутри периметра, где в последний раз находился курсор и как только курсор возвращается в периметр он обратно становится интерактивным пересечением линий. Конечно, хочется увидеть примеры кода для обоих случаев, как для мувика так и для всего стейджа. Приведу наглядный пример: мувиклип представляет из себя видоискатель бинокля овальной формы, как в играх. Когда в него видна цель, она фиксируется на видоискателе двумя пересекающимися линиями. В нашем случае цель, - это курсор. Я надеюсь, объяснения мои были предельно ясны и благодарю за уделённое этой теме внимание. Буду крайне признателен, за любую помощь. PS поиск использовал, но всё же, есть вероятность, что, что-то пропустил. В любом случае эта тема достаточно индивидуальна, но тем не менее я уверен, что она будет полезна не только мне. |
![]() |
Часовой пояс GMT +4, время: 06:38. |
|
|
« Предыдущая тема | Следующая тема » |
|
|