Форум 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=106997)

КорДум 23.01.2008 21:24

Блокировка игрока
 
Здравствуйте, у меня вот такая проблема:
есть объект Clip1 и Clip2. Clip1 управляется клавишами и перемещается вверх, вниз, влево, вправо. Clip2 неподвижен. При столкновении Clip1 с Clip2 Clip1 не должен "залезать" на на другой клип, проверка, конечно, реализовывается с помощью hitTest. Помогите пожалуйста провести данную процедуру

примерный код:
Код:

clip1.onEnterFrame = function(){
    if (Key.isDown(83)){
          this._y -= 3;
    }
    if (clip2.hitTest(this)){
          this._y += 4;
    }
}


CrazyFlasher 23.01.2008 22:41

вы с начала ознакомьтесь с правилами раздела, а потом пишите!
Код:

clip1.onEnterFrame = function(){
    if (Key.isDown(83)){
          this._y -= 3;
    }
    if (clip2.hitTest(this)){
          this._y += 4;
    }
}


etc 23.01.2008 22:53

КорДум, отредактируйте свой пост и оформите код тегами [code][/code].

КорДум 24.01.2008 18:15

Приведенный мною код работает практически корректно, но при нажатии комбинаций клавиш (пример: вверх, вниз, влево) Clip1 безнаказанно преодолевает преграду и свободно передвигается по поверхности Clip2, при этом клавиши управления инвертируются. При движении обратно и желании всё вернуть как было Clip1 с очень большим трудом возвращается на место. Помогите пожалуйста разработать работающий нормально код...

Волгоградец 24.01.2008 18:27

Самый корректноработающий алгоритм находится тут: http://noregret.org/tutor/n/. Но он достаточно сложен для понимания.

КорДум 24.01.2008 20:04

Цитата:

Сообщение от Волгоградец
Самый корректноработающий алгоритм находится тут: http://noregret.org/tutor/n/. Но он достаточно сложен для понимания.

Вы правы, он действительно сложен в понимании... Желание познать новые методы велико, так что на досуге изучу...

Цитата:

при нажатии комбинаций клавиш (пример: вверх, вниз, влево) Clip1 безнаказанно преодолевает преграду и свободно передвигается по поверхности Clip2, при этом клавиши управления инвертируются. При движении обратно и желании всё вернуть как было Clip1 с очень большим трудом возвращается на место
мне очень хочется узнать, почему так происходит, и как это можно исправить/подправить?


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

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