Вход

Просмотр полной версии : Три простеньких вопроса


Kamikaze15
06.10.2004, 09:25
Наверное вопросы будут лёгкими - но в Хелпах и FAQ я так и не смог найти точных ответов: (использую Flash 5.0)
1- В сцене Scene 2 есть movie clip AAA в него вложена кнопка с кодом :
On (press) {
gotoandplay ("scene 3",1);
}
Из за того что кнопка вложена в AAA ничего не происходит, как решить проблему?

2- Есть ли во Flash 5 задержка ( delay) приведите пример, плиз.

3-Насколько случайная функция Random(x) уж больно там варианты выпадения не случайны :( Есть ли альтернативы?

Fox M. Lurde
06.10.2004, 09:53
Я дико не уверен, но насчёт второго вопроса поищи в хелпе setInterval

Nox Noctis
06.10.2004, 12:29
1. самое простое - это поставить в первом кадре "scene 3" метку, и вызвать gotoandplay с названием этой метки.

2. http://www.flasher.ru/forum/showthread.php?s=&threadid=63104 вопрос #16
там ответы, работающие в 6 и 7. но суть решения должна быть понятна. попробуй переделать под 5.

3. встренный генератор случайных чисел. с ним ничего не поделать - разве что самому писать алгоритм случайной выборки. начиная с 6 есть вариант Math.random

dee2
06.10.2004, 15:09
если нужно реально случайное число - используй
Date.getMinutes() - 60 равномерно распределённых случайных значений

Nox Noctis
06.10.2004, 15:16
Оригинал написал(а) dee2
Date.getMinutes() - 60 равномерно распределённых случайных значений ...изменяющихся раз в минуту :))

dee2
06.10.2004, 15:24
ну я и написал: "числО" :)
- к сожалению оно одно на каждый запуск мувика

getMilliseconds() кстати лучше )))

Kamikaze15
06.10.2004, 19:48
1. самое простое - это поставить в первом кадре "scene 3" метку, и вызвать gotoandplay с названием этой метки.
Не работает - так как вложен в movie clip. Подскажите другой вариант! :eek:

Nox Noctis
06.10.2004, 19:54
Оригинал написал(а) Kamikaze15
On (press) {
gotoandplay ("scene 3",1);
}
- это в точности код с твоей кнопки?
on () {} пишется обязательно с маленькой буквы.

а от вложенности в мувиклип ничего зависеть не должно

Kamikaze15
06.10.2004, 20:07
2. http://www.flasher.ru/forum/showthr...&threadid=63104 вопрос #16
К сожалению Stop Play - перенесёт меня на следующий кадр :(
Мне надо оставаться в одном и том же :confused:

Kamikaze15
10.10.2004, 14:30
Разобрался уже сам с переходом на новую сцену - просто использовал функцию :) Хотя до сих пор не понимаю как обойтись без неё :confused: В коде on - конечно же с маленькой - и всё таки зависимотсь от вложенности есть!

Задержку попробую реализовать прогонкой какого нибудь цикла типа Пока i<99999999999999 i++ Может так поможет :rolleyes:

FreeLander
10.10.2004, 16:14
Оригинал написал(а) Kamikaze15
Задержку попробую реализовать прогонкой какого нибудь цикла типа Пока i<99999999999999 i++ Может так поможет :rolleyes: получишь не задержку а тормоза, к тому же разнящиеся по скорости на машинах различной мощности. Хочешь задержку - юзай getTimer или setInterval, как тебе собственно и советуют выше.

sergwizard
11.10.2004, 00:31
а от вложенности в мувиклип ничего зависеть не должно????
2Kamikaze15 Попробуй так:
on(press){
_root.gotoAndPlay("scene 3",1);
}

Kamikaze15
13.10.2004, 11:15
2 sergwizard
пробовал добавить root - но ничего не меняется. Этот же код с кнопкой, не вложенной в movie clip работает :(

Antares
13.10.2004, 13:06
Тут где-то был подобный тред, увы, мне сейчас очень лениво искать. Так вот обсуждение кончилось тем, что выяснилось: переход на сцену и проигрыш в ряде случаев не работает.

Еще раз повторяюсь, если вы не мультипликатор, прочтите на Actionscript.org топик Why Scenes Sucks и посмотрите на подпись одного из тамошних старожилов:

"I'm going to **** in the *** the next person I catch using scenes"

Nox Noctis
13.10.2004, 14:32
скажу честно, лень напрягать телепатические способности, чтобы понять что именно у тебя не работает, но думаю проблема в следующем:

есть две разный вещи: глобальная функция gotoAndPlay и метод мувиклипа gotoAndPlay.

глобальная функция пользуется так:gotoAndPlay([scene,] frame)
а метод мувиклипа пользуется так:my_mc.gotoAndPlay(frame)
то есть вызов _root.gotoAndPlay(scene, frame); не сработает, потому как мы пытаемся воспользоваться методом, и передать ему такие параметры, которые принимает только глобальная функция.