Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как сделать автоматический переход? (http://www.flasher.ru/forum/showthread.php?t=140233)

Медведь 24.05.2010 13:40

Как сделать автоматический переход?
 
Привет всем!
С AS работаю недавно и мало что в нем понимаю.
Решил сделать небольшую игру. Суть - надо нажимать "правильные" картинки из вороха неправильных.При этом правильные картинки меняют цвет. Добрые люди подсказали код, однако не подсказали, что надо сделать, чтобы после выделения всех правильных картинок осуществлялся автоматический переход на следующий слайд. Подскажите, что надо дописать в этот код или подскажите, где можно посмотреть описание подобной ситуации.
Код:
Код:

onClipEvent (load) {
        found = [];
        for (i=0; i<7; i++) {
                found[i] = false;
        }
}
onClipEvent (mouseDown) {
        x = _root._xmouse;
        y = _root._ymouse;
       
        for (i=0; i<7; i++) {
                if (_root["pict"+i].hitTest(x, y, false)) {
                        myColor = new Color(_root["pict"+i]);
                        myColor.setTransform({rb:180, bb:150, gb:50});
                        found[i] = true;
                        break;
                }
        }
       
        gameover = true;
        for (i=0; i<7; i++) {
                if (found[i] == false) {
                        gameover = false;
                }
        }

Заранее благодарен за простое и эффективное решение.

mooncar 24.05.2010 13:59

Ну впишите в конце, после цикла
Код AS1/AS2:

if (gameover) {
  nextFrame();
}

либо
Код AS1/AS2:

if (gameover) {
  gotoAndStop(нужный кадр);
}

в зависимости от логики переходов.

Цитата:

Сообщение от Медведь (Сообщение 910537)
С AS работаю недавно и мало что в нем понимаю.

На клипах писать не стоило бы. Код нужно писать в кадре:
Код AS1/AS2:

found = [];
for (i=0; i<7; i++)
{
        found[i] = false ;
}
 
this.onMouseDown = function  ()
{
        x = _root._xmouse ;
        y = _root._ymouse ;
 
        for (i=0; i<7; i++)
        {
                if (_root["pict"+i].hitTest(x, y, false))
                {
                        myColor = new Color(_root["pict"+i]);
                        myColor.setTransform({rb:180, bb:150, gb:50});
                        found[i] = true ;
                        break ;
                }
        }
 
        gameover = true ;
 
        for (i=0; i<7; i++) {
                if (found[i] == false)
                {
                        gameover = false ;
                }
        }
 
        if (gameover)
        {
                  nextFrame();
        }
}


Медведь 24.05.2010 14:58

Огромное спасибо, mooncar, за ответ и за совет! Все работает :)
Как и предполагал, все оказалось просто...


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

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