Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как изменить код из AS2 в AS3? (http://www.flasher.ru/forum/showthread.php?t=209037)

Blue light 05.10.2014 12:50

Как изменить код из AS2 в AS3?
 
Код для простой фотогалереи нужно переписать для Actionscript3. При компиляции выдает 23 ошибки, вроде:
Обращение несуществующего свойства final_x, Обращение несуществующего свойства speed, Обращение несуществующего свойства photo_width, Обращение несуществующего свойства photo_mc, Обращение возможного неопределенного свойства onRelease через ссылку со статистическим типом flash.display:SimpleButton.
Код на AS2 (взят с http://www.mykhailenko.com/blog/2009-12-07/kak-sozdat-prostuyu-fotogalereyu-urok-flash.html:
Код AS1/AS2:

final_x=0;
speed =7; //скорость прокрутки фото
photo_width = 800; //ширина фотографий
photo_mc.onEnterFrame = function() { //присваиваю функцию прокрутки для муви-клипа со всеми фотографиями
photo_mc._x += (final_x - photo_mc._x)/speed;
}
b1.onRelease = function() { //вызов 1-й фотографии при нажатии 1-й кнопки
final_x =0;
}
b2.onRelease = function() { //вызов 2-й фотографии при нажатии 2-й кнопки
final_x =-photo_width;
}
b3.onRelease = function() { //вызов 3-й фотографии при нажатии 3-й кнопки
final_x =-photo_width*2;
}
b4.onRelease = function() { //вызов 4-й фотографии при нажатии 4-й кнопки
final_x =-photo_width*3;
}
b5.onRelease = function() { //вызов 5-й фотографии при нажатии 5-й кнопки
final_x =-photo_width*4;
}

Помогите, пожалуйста.

samana 05.10.2014 15:33

Если не оптимизировать, то примерно так:
Код AS3:

import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
 
 
var final_x:Number=0;
var speed:Number =7;
var photo_width:int = 800;
 
photo_mc.addEventListener(Event.ENTER_FRAME, photo_mc_enterFrame);
function photo_mc_enterFrame(e:Event):void
{
        photo_mc.x += (final_x - photo_mc.x)/speed;
}
b1.addEventListener(MouseEvent.MOUSE_UP, b1_mouseUp);
b2.addEventListener(MouseEvent.MOUSE_UP, b2_mouseUp);
b3.addEventListener(MouseEvent.MOUSE_UP, b3_mouseUp);
b4.addEventListener(MouseEvent.MOUSE_UP, b4_mouseUp);
b5.addEventListener(MouseEvent.MOUSE_UP, b5_mouseUp);
 
function b1_mouseUp(e:MouseEvent):void
{
        final_x =0;
}
 
function b2_mouseUp(e:MouseEvent):void
{
        final_x =-photo_width;
}
 
function b3_mouseUp(e:MouseEvent):void
{
        final_x =-photo_width*2;
}
 
function b4_mouseUp(e:MouseEvent):void
{
        final_x =-photo_width*3;
}
 
function b5_mouseUp(e:MouseEvent):void
{
        final_x =-photo_width*4;
}

p.s. по идее ничего не упустил


Часовой пояс GMT +4, время: 03:48.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.