PDA

Просмотр полной версии : Пинок для нуба.хиттест-стратдраг против хиттест-"с клавиатуры"


O_Hara
02.09.2006, 01:26
Доброго дня/вечера/ночи.
FlashMX
Просмотрел по поиску и без поиска всё что есть по хиттесту,юзал Хелп,Гугл и Яндекс-
-не помогло, поскольку нуб, наверное.Извините,если отнял у кого-то время.

имеется мувики: kn. , svet. и fasn.
Также имеются обьекты fash2, Al, fashdie и др.,но речь не о них.
Мувик kn. хиттестится с мувиками svet. и fasn.

Начал с Drag. Код вставлял в kn.
Всё прекрасно работает.

onClipEvent (load) {
_root.kn._visible = true;
}
on (press) {
_root.kn.startDrag ();
}
on (release, releaseOutside) {
if (_root.kn.hitTest (_root.svet)) {
_root.kn._visible = false;
_root.fash2._visible = false;
_root.Al._visible = true;
_root.alarm=alarm+1;
}
if (_root.kn.hitTest (_root.fash)) {
_root.fash._visible = false;
_root.fashdie._visible = true;
_root.kill=kill+1;
}
_root.key.stopDrag ();
}


Затем решил двигать kn. с клавиатуры
В kn. вставил код для
on (keyPress "<Up>") {
on (keyPress "<Down>") {
on (keyPress "<Right>") {
on (keyPress "<Left>") {

а во фрейм :
if (kn.hitTest (svet)) {
kn._visible = false;
fash2._visible = false;
Al._visible = true;
alarm=alarm+1;
if (kn.hitTest(fash)) {
fash._visible = false;
fashdie._visible = true;
kill=kill+1;
}

не пашет.Хотя вроде должно.
Спасибо, уважаемые
:victory:

O_Hara
04.09.2006, 01:15
ну,значит - не судьба... сорри.

iNils
04.09.2006, 01:21
Проверьте пути.

D12
04.09.2006, 01:22
_root.kn._visible = true;
_root.onEnterFrame = function() {
if (_root.kn.hitTest(_root.svet)) {
_root.kn._visible = false;
_root.fash2._visible = false;
_root.Al._visible = true;
_root.alarm = alarm+1;
}
if (_root.kn.hitTest(_root.fash)) {
_root.fash._visible = false;
_root.fashdie._visible = true;
_root.kill = kill+1;
}
};



Попробуй так =)

O_Hara
04.09.2006, 10:56
2 D12
О, биг сенькс....знаете помогло...
не до конца,но вы подсказали путь...
счётчики kill и alarm зашкаливают...ну тут уж дальше я буду сам бороться.
Спасибо приогромнейщее...

wvxvw
04.09.2006, 11:05
_root.kill=kill+1;
поменять на
_root.kill++;

Упс, не заметил, с алярмом аналогично. Переменные kill alarm не существуют в том месте, откуда ты к ним обращаешся, скорее всего счетчик будет выдавать что-то в духе 'undefined11111'

O_Hara
04.09.2006, 11:12
D12 и wvxvw

Я был не прав...счётчики зашкаливают не потому что код неверен ,а потому что я балбес :) счётчики ведут себя так, как им сказали.
Код D12 работает на отлично! 1000 поклонов. :)

2wvxvw
да ,вы правы, спасибо большое. :)

O_Hara
04.09.2006, 14:06
при _root.kill=kill+1;
счётчик считает каждую секунду примерно пребывания в состоянии хиттеста оттого и кажется что зашкаливает.

при _root.kill++; остаётся на нуле.

O_Hara
04.09.2006, 14:42
просто хиттест видит мувик даже если он вроде как не визибл почему-то и шкалит на нём.
Решил просто заменить
_root.fash._visible = false;
на
unloadMovie("fash");

Neosano
04.09.2006, 19:35
просто хиттест видит мувик даже если он вроде как не визибл почему-то и шкалит на нём.
Решил просто заменить
_root.fash._visible = false;
на
unloadMovie("fash");

ага, ага или
delete("fash");
или
removeMovieClip("fash");
или.. точнно не помню
_root.fash.removeMovieClip();