Главная страница О Web-студии Разработка сайтов Интернет-реклама CD-презентации 3D-графика Программное обеспечение
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создание сайтов. Авторы: Кузнецов М.В., Симдянов И.В. Головоломки на PHP для хакера (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры . Авторы: Кузнецов М.В., Симдянов И.В. PHP. Народные советы. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование: ступени карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Security & Cracking Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
Консультации от известных специалистов и авторов многих книг

Информационный портал
«SoftTime-INFO»


Примеры скриптов на Action Script 3

Вернуться в примеры скриптов

3D вращение изображения.


Flash-анимация, изначально ориентированная на 2D, плохо подходит для 3D-работ, однако правдоподобная анимация очень часто требует 3D-вращения. В скрипте, представленном ниже приводится пример для врещения вокруг центральной оси Y, загруженного изображения. Заменяя или комбинируя свойство rotationY, на rotationX и rotationZ можно добиться вращения относительно других осей или воспроизвести довольно сложное движение.

Вращение изображения вокруг оси Y

package rotate 
{ 
  import flash.display.*; 
  import flash.events.*; 
  import flash.net.*; 
  import flash.utils.Timer; 
     
  public class RotateImage extends Sprite 
  { 
    // Загрузчик изображения 
    private var loader:Loader; 
    // Таймер вращения 
    private var rotateTimer:Timer; 
    // Угол вращения 
    private var angle:int; 
    // Конструктор 
    public function RotateImage():void 
    { 
      // Вызываем конструктор базового класса 
      super(); 
      // Устанавливаем угол 
      this.angle = 0; 
      // Создаем загрузчик 
      this.loader = new Loader(); 
      // Назначаем обработчик события окончания 
      // загрузки изображения 
      this.loader.contentLoaderInfo.addEventListener(Event.INIT, imageCompleteHandler); 
      // Загружаем изображение 
      this.loader.load(new URLRequest("test.jpg")); 
      // Обработчик вращения 
      this.rotateTimer = new Timer(100); 
      this.rotateTimer.addEventListener(TimerEvent.TIMER, rotateTimerHandler); 
    } 
    // Обработчик события окончания загрузки изображения 
    private function imageCompleteHandler(evt:Event):void 
    { 
      // Размещаем изображение на флешке
      this.addChild(this.loader); 
      // Отступ от левого края 
      this.loader.x = 200; 
      // Отступ сверху 
      this.loader.y = 50; 
      // Смещаем точку поворота в центр 
      this.loader.content.x = -this.loader.content.width / 2; 
      // Запускаем таймер вращения 
      this.rotateTimer.start(); 
    } 
    // Обработчик таймера вращения 
    private function rotateTimerHandler(evt:TimerEvent):void 
    { 
      // Один угол за один такт 
      this.angle += 1; 
      // Обнуляем значение угла, при достижении полного поворота 
      if(this.angle > 359) this.angle = 0; 
      // Вращаем изображение 
      this.loader.rotationY = this.angle; 
    } 
  } 
}

Как видно пример помещен в пакет rotate, т.е. приложение должно быть размещено в папке rotate, а связь с флешкой осуществляется через rotate.RotateImage

Если работа ActionScript приложений не понятна, или вызывает вопросы, их можно задать на форуме Flash.

 
  Rambler's Top100 Яндекс.Метрика Яндекс цитирования