Новые книги

Master the fundamental concepts of real-time embedded system programming and jumpstart your embedded projects with effective design and implementation practices. This book bridges the gap between higher abstract modeling concepts and the lower-level programming aspects of embedded systems development. You gain a solid understanding of real-time embedded systems with detailed practical examples and industry wisdom on key concepts, design processes, and the available tools and methods.

Delve into the details of real-time programming so you can develop a working knowledge of the common design patterns and program structures of real-time operating systems (RTOS). The objects and services that are a part of most RTOS kernels are described and real-time system design is explored in detail. You learn how to decompose an application into units and how to combine these units with other objects and services to create standard building blocks. A rich set of ready-to-use, embedded design “building blocks” is also supplied to accelerate your development efforts and increase your productivity.

Experienced developers new to embedded systems and engineering or computer science students will both appreciate the careful balance between theory, illustrations, and practical discussions. Hard-won insights and experiences shed new light on application development, common design problems, and solutions in the embedded space. Technical managers active in software design reviews of real-time embedded systems will find this a valuable reference to the design and implementation phases.

Qing Li is a senior architect at Wind River Systems, Inc., and the lead architect of the company’s embedded IPv6 products. Qing holds four patents pending in the embedded kernel and networking protocol design areas. His 12+ years in engineering include expertise as a principal engineer designing and developing protocol stacks and embedded applications for the telecommunications and networks arena. Qing was one of a four-member Silicon Valley startup that designed and developed proprietary algorithms and applications for embedded biometric devices in the security industry.

Caroline Yao has more than 15 years of high tech experience ranging from development, project and product management, product marketing, business development, and strategic alliances. She is co-inventor of a pending patent and recently served as the director of partner solutions for Wind River Systems, Inc.

About the Authors
Эта книга – полное руководство по системному анализу клиентского опыта и лояльности. В ней на примере кейсов из реальной практики подробно описывается, как можно применить методику оценки лояльности в любом бизнесе.

Книга будет полезной директорам по маркетингу и развитию, маркетологам и всем, кто интересуется темой клиентоориентированности.

На русском языке публикуется впервые.

Тестирование загрузки кадра



Тестирование загрузки кадра

Для того чтобы сделать недоступными процедуры, содержание для которых еще не загружено, используйте процедуру ifFrameLoaded (если кадр загружен). Создайте начальную анимацию, которая будет воспроизводиться, пока загружается остальной фильм. Процедура ifFrameLoaded (если кадр загружен) полезна для проверки загрузки основного файла (типа растра или звука). Можно также использовать СВОЙСТВО _framesLoaded (в пределах процедуры if), чтобы проверить доступность содержания определенного кадра. С помощью процедуры или свойства можно запустить простую анимацию, пока остальная часть фильма загружается на локальный компьютер; в обоих случаях проверяется доступность для воспроизведения содержания определенного кадра. Как правило, процедура ifFrameLoaded (если кадр загружен) используется как процедура кадра, но она же может использоваться как процедура кнопки. Для проверки выполнения УСЛОВИЯ IfFrameLoaded (если кадр загружен) используется настройка Streaming (Поток) для команды Test Movie (Тестировать фильм), при этом кадры загружаются с Web-сайта как бы потоком.

См. разд. "Тестирование загрузки фильма" гл. 14, Для того чтобы проверить, загружен ли кадр:
  1. Выделите кадр, трансформу кнопки или трансформу фрагмента фильма, которой вы предполагаете назначить процедуру.
  2. Выберите команду Window (Окно) Þ Actions (Процедуры), чтобы вызвать панель Actions (Процедуры).
  3. В списке Toolbox (Набор инструментов) щелкните на категории Basic Actions (Основные процедуры), чтобы вызвать список основных процедур, и выберите пункт If Frame Is Loaded (Если кадр загружен).
  4. В панели Parameters (Параметры) для Scene (Сцена) выберите сиену, содержащую желательный кадр: укажите опцию Current Scene (Текущая сцена) или имя сцены.
  5. Для настройки Type (Тип) выберите Frame Number (Номер кадра). Frame Label (Ярлык кадра) или Expression (Выражение).
  6. Для настройки Frame (Кадр) определите кадр, который загрузится, прежде чем будет вызвана процедура. Укажите Frame Number (Номер кадра), Frame Label (Ярлык кадра) или Expression (Выражение), аналогично инструкции на шаге 5.
  7. Выберите процедуру, которая должна выполниться, когда будет загружен определенный кадр. Flash введет следующий код ActionScript в список Actions (Процедуры):
IfFrameLoaded (100) {
GotoAndPlay (10);
}

Для того чтобы применить процедуру ifFrameLoaded (если кадр загружен) для воспроизведения короткой анимации при загрузке основного фильма:

  1. Создайте короткий цикл анимации в начале фильма. Самое простое - создать цикл, который показывает сообщение "Фильм загружается..."
  2. При помощи процедуры ifFrameLoaded (если кадр загружен) создайте процедуру кадра, которая переключит воспроизведение фильма от циклической начальной анимации к основному фильму, когда все кадры будут загружены.

Например, для фильма с 30 кадрами, в начале которого расположен анимированный цикл из 2 кадров, требуется следующая процедура в первом кадре:

IfFrameLoaded (30) { 
GotoAndPlay (3);

Для завершения примера назначьте следующую процедуру второму кадру, чтобы повторно начать воспроизведение в Кадре 1:

GotoAndPlay (1);

Когда загружается кадр, указанный в процедуре ifFrameLoaded (если кадр загружен), воспроизведение фильма переходит ко второму кадру и продолжает воспроизводить фильм с третьего кадра. Для того чтобы использовать свойство _framesloaded в процедуре для воспроизведения во время загрузки фильма короткого анимированного цикла;

  1. Создайте короткий анимированный цикл в начале фильма. Например, можно создать цикл, который показывает сообщение "фильм загружается..."
  2. Создайте процедуру кадра, которая выведет воспроизведение из цикла, когда кадры наконец будут загружены, и которое продолжит воспроизведение фильма.

Например, для фильма, содержащего анимированный цикл из двух кадров в начале, требуется следующая процедура, назначенная второму кадру:

if(_framesloaded--100) {
GotoAndPlay (3) ;
}else { 
GotoAndPlay (1);
}

Подробную информацию о свойстве _framesloaded CM. в руководстве по ActionScript.