С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
ActionScript
Войти
Регистрация
Восстановить пароль
 
sci007
0 / 0 / 0
Регистрация: 20.06.2014
Сообщений: 1
1

Перевожу код с AS2.0 на AS 3.0

23.06.2014, 11:21. Просмотров 396. Ответов 1
Метки нет (Все метки)

оригинал
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
//текущее название предмета
var myCurItem = "EMPTY";
//текущий клип предмета
var myCurItemClip = undefined;
 
//проходимся по всем ячейкам в инвентаре
for (var i = 1; i <= 4; i++)
{
 //в начале, каждая ячейка пустая и не содержит никаких клипов
 var tempCell = _root.inventory["c" + i];
 tempCell.curItem = "EMPTY";
 tempCell.curItemClip = undefined;
}
 
//скрываем кнопки в инвентаре
inventory.btn_deleteItem._visible = false;
inventory.btn_removeItem._visible = false;
 
//назначаем каждому мувиклипу его название
i1.i_type = "APPLE";
i2.i_type = "STICK";
i3.i_type = "MONEY";
i4.i_type = "STONE";
i5.i_type = "PENCIL";
 
//ни один предмет в начале не получен
i1.got = i2.got = i3.got = i4.got = i5.got = false;
 
//проходимся по всем предметам
for (var i = 1; i <= 5; i++)
{
 //при нажатии...
 _root["i" + i].onPress = function()
 {
 //если предмет НЕ в инвентаре
 if (!this.got)
 {
 //проходимся по всем ячейкам в инвентаре
 for (var j = 1; j <= 4; j++)
 {
 tempCell = _root.inventory["c" + j];
 //если есть попавшаяся ячейка пустая..
 if (tempCell.curItem == "EMPTY")
 {
 //кладём туда предмет
 this._x = tempCell._x + 220;
 this._y = tempCell._y + 90;
 //назначаем ячейке данные этого предмета
 tempCell.curItem = this.i_type;
 tempCell.curItemClip = this;
 //теперь этот предмет получен и находится в инвентаре
 this.got = true;
 break;
 }
 }
 }
а вот что я перевел


ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import flash.events.Event;
import flash.display.MovieClip;
import flash.display.DisplayObject;
var myCurItem = "nety";
var myCurItemClip = undefined;
 
 
for (var i=1; i<=4; i++)
{
    var tempCell = MovieClip(root).inventory["c" + i];
    tempCell.curItem = "nety";
    tempCell.curItemClip = undefined;
 
}
inventory.btn_delete.visible = true;
inventory.btn_remove.visible = true;
 
i1.i_type = "apple";
i2.i_type = "lyk";
i3.i_type = "mech";
i4.i_type = "chit";
i5.i_type = "chlem";
 
i1.got = i2.got = i3.got = i4.got = i5.got = false;
 
for (i=1; i<=5; i++)
{
    MovieClip(root)["i" + i].addEventListener(MouseEvent.CLICK, knopka);
    function knopka (e:MouseEvent)
    {
        if (! this.got)
        {
            for (var j=1; j<=4; j++)
            {
                tempCell = MovieClip(root).inventory["c" + j];
                if (tempCell.curItem == "nety")
                {
                    this.x = tempCell.x;
                    this.y = tempCell.y;
                    tempCell.curItem = this.i_type;
                    tempCell.CurItevClip = this;
                    this.got = true;
                    break;
                }
            }
        }
    }
}
ошибок не показывает но и не выполняется
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2014, 11:21
Ответы с готовыми решениями:

Конвертировать код клика из AS2 в AS3
Есть короткий код для баннера:...

Explorer не отрабатывает код Js, при вызове из As2
при вызове кода JS а коде actionscript в эксполере не отрабатывается (или...

Збой в AS2
Здравствуйте. Почему в нижеслежующем коде не выводится цыфра 1 ? ...

AS2 to AS3
Итак. Я уже давно давно занимаюсь программированием и подобным на...

AS2->AS3
Так как незнаю АС2 прошу помочь переписать код с АС2. На мувике сцены весит...

1
Theoryofgames
253 / 237 / 50
Регистрация: 20.12.2011
Сообщений: 707
23.06.2014, 14:34 2
Цитата Сообщение от sci007 Посмотреть сообщение
MovieClip(root)["i" + i].addEventListener(MouseEvent.CLICK, knopka);
Вот эта строчка у меня вызывает большие сомнения, а точнее - MovieClip(root)["i" + i] - в AS3 root - это не всегда MoveiClip, и вообще, в AS3 root лучше не использовать (по-крайней мере так говорят - сам его ни разу не использовал). В AS3 похожие функции выполняет stage.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2014, 14:34

Многопоточность в AS2
Добрый день! Необходимо реализовать слдующее, есть библиотека написанная на C#...

Секундомер в AS2
Знает кнонить как секундомер сделать в АС2 с милисекундами и чтобы остановить...

Текс в AS2
Доброго времени суток всем.....у меня такая проблема.....похожая тема уже...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru