Просмотр полной версии : сгенерированные кадры в move clip влияет на _root. где ошибка?
написал такой код в move clip:
var ti2 = Math.floor(Math.random()*2500)+3000;
function runclip() {
var ci = Math.floor(Math.random()*4);
if (ci == 1) {
this.gotoAndPlay(9);
}
if (ci == 2) {
this.gotoAndPlay(18);
}
if (ci == 3) {
this.gotoAndPlay(2);
}
if (ci == 4) {
this.gotoAndPlay(9);
}
var ti2 = Math.floor(Math.random()*2000)+5000;
}
if (!ti) {
ti = setInterval(runclip, ti2);
}
в нем генерируется случайный кадр и случайное время через которое он проигрываеться,
но когда я перехожу между кадрами в _root, то кадры(в _root) начинают мерцать, меняться в случайном порядке. наверное генерация кадров влияет и на _root, но почему и как это исправить?
function runclip() {
var ci = Math.floor(Math.random()*4);
if (ci == 1 || ci==4) { // это вопервых
this.gotoAndPlay(9);
}
else if (ci == 2) {
this.gotoAndPlay(18);
}
else {
this.gotoAndPlay(2);
}
}
ti = setInterval(runclip, Math.floor(Math.random()*2500)+3000); // во вторых
Добавлено через 4 минуты
возможно у вас ошибка в том что !ti и ti быстро меняются, но я не вижу всего кода. А по теме var ti2 = Math.floor(Math.random()*2000)+5000; зачем внутри runClip дублируется не ясно!!! это *****_код , тоесть вы пишите лишнее, которое даж работать не будет. В моем приведенно коде интервал поменяется тока 1 раз. если хотите менять постоянно то :
var ti2 = Math.floor(Math.random()*2500)+3000;
function runclip() {
var ci = Math.floor(Math.random()*4);
if (ci == 1 || ci==4) { // это вопервых
this.gotoAndPlay(9);
}
else if (ci == 2) {
this.gotoAndPlay(18);
}
else {
this.gotoAndPlay(2);
}
ti2 = Math.floor(Math.random()*2500)+3000; // заметим что без var !!!
}
ti = setInterval(runclip, ti2); // во вторых
я допустил опечатку, там где
if (ci == 4) {
this.gotoAndPlay(9);
}
вместо 9 должно быть 35
var ti2 = Math.floor(Math.random() * 2500) + 3000;
function runclip()
{
var ci = Math.floor(Math.random() * 4);
if (ci == 1)
{
this.gotoAndPlay(9);
}
else if (ci == 2)
{
this.gotoAndPlay(18);
}
else if (ci == 3)
{
this.gotoAndPlay(2);
}
else if (ci == 4)
{
this.gotoAndPlay(35);
}
ti2 = Math.floor(Math.random() * 2500) + 3000;
}
ti = setInterval(runclip, ti2);
но когда я вставляю такой код, то он не работает. move clip должен кождые Math.floor(Math.random()*2500)+3000 выполнять runclip() в котором он должен по сгенерированному числу которое сохроняеться в переменной ci переходить в кадры, но этого не происходит.
Добавлено через 71 час 49 минут
кто-нибудь может ответить на мой вопрос? этот код не работает. в чем проблема?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.