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

Anastasiart 05.11.2007 00:43

Передвижные объекты-препятствия - для флеш-игры
 
Делаю флеш-игру. Есть два квадратных объекта (мувиклипа). Первый перемещается стрелками курсора на 10 пикселей соответственно. Мне нужно, чтобы второй мувик был для него препятствием: чтобы со всех сторон он на него натыкался, а не проходил насквозь. Просмотрела весь AS help, ну никак. К томе же, я работаю не во FlashMX, а в другой, простой проге (Selteco), и поэтому там не все коды для MX подходят - сложно... (( Вообще, у меня получалось добиться того, чтобы 1й мувик натыкался на 2-й, но для этого мне пришлось "чесать левой ногой правое ухо": я описывала координатные промежутки относительно каждой стороны квадрата-"препятствия", но получилось очень громоздко... А ведь таких препятствий планируется несколько...

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

Код:

onEnterFrame = function() {

////// stop

if (object1._y < Stage.heigh() + 145 )
{object1._x = object1._x; };
if (object1._x < Stage.width() + 195 )
{object1._y = object1._y; };

////// right

if (Key.isDown(Key.right))
{if (object1._y < Stage.heigh() + 55  ||
object1._y > Stage.heigh() + 135  ||
object1._x < Stage.width() + 95  ||
object1._x > Stage.width() + 155)
{ object1._x = 10 + object1._x; }};

////// left

if (Key.isDown(Key.left))
{if (object1._y < Stage.heigh() + 55  ||
object1._y > Stage.heigh() + 135  ||
object1._x < Stage.width() + 145  ||
object1._x > Stage.width() + 195 )
{ object1._x = -10 + object1._x; }};

////// down

if (Key.isDown(Key.down))
{if (object1._x < Stage.width() + 105  ||
object1._x > Stage.width() + 185  ||
object1._y < Stage.heigh() + 45  ||
object1._y > Stage.heigh() + 95 )
{ object1._y = 10 + object1._y; }};

////// up

if (Key.isDown(Key.up))
{if (object1._x < Stage.width() + 105  ||
object1._x > Stage.width() + 185  ||
object1._y < Stage.heigh() + 95  ||
object1._y > Stage.heigh() + 145 )
{ object1._y = -10 + object1._y; }};

}

Замучалась!!! Казалось бы, это же так просто сделать - много самых простых флеш игр ведь на этом построено (напр. "Socoban")... А у меня ничего не выходит, я ведь только дилетант в AS... Ребята, помогите, пожалуйста!!! Для меня это очень важно... Заранее спасибо.

ЗЫ: Извините, что в прошлый раз создала тему не в том разделе :rolleyes:

udaaff 05.11.2007 01:08

Читайте про метод мувика hitTest

Anastasiart 05.11.2007 21:38

Спасибо за совет! Буду разбираться...

D12 05.11.2007 23:13

Вложений: 1
Вот держи :)

Anastasiart 06.11.2007 21:42

Ребята, спасибо еще раз!!! :)


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

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