Форум 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)
-   -   Проблема с нормальной работой c hitTest (http://www.flasher.ru/forum/showthread.php?t=90998)

SobakaWWW 22.01.2007 18:27

Проблема с нормальной работой c hitTest
 
:( Пиветствую, народ ))

ТУт решил на флеше попрактиковаться, но вот какая проблема возникла, нигде ответов не нашёл :
После небольшого изучение, решил сделать пример из статьи... ПРимер прост, есть три объекта, если двое из них сталкиваются , то один из них перекидывается на координаты третьего, вот код :
Код:

// Статический объект fun1
onClipEvent (enterFrame) {
if (_root.character.hitTest (this)) {
_root.addToslot (this);
}
}

//Внутри управляемого объекта
onClipEvent (load) {
moveSpeed = 19;
}
onClipEvent (enterFrame) {
if (Key.isDown (Key.RIGHT)) {
this._x += moveSpeed;
} else if (Key.isDown (Key.UP)) {
this._y -= moveSpeed;
} else if (Key.isDown (Key.DOWN)) {
this._y += moveSpeed;
} else if (Key.isDown (Key.LEFT)) {
this._x -= moveSpeed;
}
}

//Во фрейме
currentslotnum = 1;
stop ();
function addToslot (item) {
        item._x+=2;
if (!item.found) {
item._x = eval ("itemSlot" + currentslotnum)._x;
item._y = eval ("itemSlot" + currentslotnum)._y;
item.found = true;
....

[iNils: Для оформления своего кода, надо использовать теги [code][/code]]

Я понял, что у меня не срабатывает проверка if (_root.character.hitTest (this)) , хотя объекты друг на друге находятся, не подскажете, в чем дело ?))))

CorC 22.01.2007 18:58

а InstanceName "character" не забыл присвоить управляемому клипу?
З.Ы.: РПГ пишешь или как?

SobakaWWW 22.01.2007 19:29

Ну типа того )
А энто я не забыл, прописал, не помогло ((((

CorC 22.01.2007 19:41

а ты проверь в том fun1
Код:

trace(_root.character._name)
он вообще есть?
и вообще попробуй так подебагить, если что присылай упрощенный исходник...

а так по коду вроде б верно

SobakaWWW 22.01.2007 20:42

Хех, говорит undefited... но в линках я пометил и назвал его (названия совпадают , в трейсе правильно написано )... (((((

Mr. Fixit 23.01.2007 03:20

ты не в линках пиши, а в инстанс нейм, который(да-да) в Properties.
В linkage тебе не надо писать, так как ты не аттачишь..
Я код свой? ;)

Kikasso 23.01.2007 04:15

Control -> test Movie -> debug -> list Variables
или
Код:

for (var p in _root)trace(p+"::"+_root[p]);

CorC 23.01.2007 10:19

Цитата:

Сообщение от CorC
а InstanceName "character" не забыл присвоить управляемому клипу?

видимо все-таки вы это забыли сделать...
щелкаешь по муву
идешь в properties
в поле InstanceName ставишь character

SobakaWWW 23.01.2007 13:36

Вложений: 1
мм, да нет, всё так.. вот вид пропитиесов в прилагаемой картинке )

CorC 23.01.2007 13:43

мда...
не в этих properties
где ты здесь видишь InstanceName поле?
когда мув вытаскиваешь на раб стол
идешь вниз страницы, там панель: properties
или Сtrl+F3

SobakaWWW 23.01.2007 14:00

:rolleyes: Йеёёёё...
Огромное спасибо !))

CorC 23.01.2007 14:08

заработало что ли? :) ну надо же!
потом как все доделаешь, кинь линк мне в личку потом :)


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

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