Просмотр полной версии : помогите с кодом!
Привет всем! не могу разобраться: как написать код, чтобы mc появлялся в случайном месте клипа?
function image (){
this._x = random;
this._y = random;
}
пишу такое дело. Не догоняю что нужно.
ПОМОГИТЕ!
а обязательно каждый топик называть с восклицательным знаком?
function image (){
this._x = random(Stage.width);
this._y = random(Stage.height);
}
Бармалей
25.10.2005, 11:24
Math.random() - метод, возвращающий чесло от 0 до 1 включительно.
Math.floor() - метод округлящий число до меньшего целого.
Чтобы получить случайное число в пределах какого-либо значения, нужно набрать:
Math.random()*(max-min)+min;
следовательно, чтоб округлить до меньшего целого нужно произведение и округлять:
Math.floor(Math.random()*(max-min))+min;
В твоем случае код будет иметь вид, (т.к. min = some_mc._x - равна координате клипа, на который будем равняться):
//определяем функцию
function image(){
my_mc._x = Math.floor(Math.random()*(some_mc._width-my_mc._width))+some_mc._x;
my_mc._y = Math.floor(Math.random()*(some_mc._height-my_mc._height))+some_mc._y;
}
//вызываем функцию
onEnterFrame = function(){
image();
}
motor4ik
25.10.2005, 11:26
random(Stage.width) - хм, так лучше не делать
Math.floor(Math.random()*(some_mc._width-my_mc._width)) - вот это дело
спасибо. Но, Бармалей, не могу понять вроде всё правильно, но пишет ошибки.Дальше буду разбираться.
Бармалей
25.10.2005, 12:02
исходничек, прикрепленный посмотри и еще раз почту проверь, я там еще кое что отправил
Да, посмотрел, спасибо. Не получается у меня маленько. Можно тебе прислать на мыло? подскажешь на месте так сказать.
Бармалей
25.10.2005, 12:18
не, сейчас не могу, на работе сижу
ты наверно просто инстансы не прописал к мувам
Всё получилось, только вот, как сделать чтобы не один объект это делал , а скажем 20 шариков летал и как и первый.
Бармалей
27.10.2005, 16:02
Всё получилось, только вот, как сделать чтобы не один объект это делал , а скажем 20 шариков летал и как и первый.
//модернизируем функцию
function image(param){
param._x = Math.floor(Math.random()*(some_mc._width-param._width))+some_mc._x;
param._y = Math.floor(Math.random()*(some_mc._height-param._height))+some_mc._y;
}
//вызываем функцию, передавая в качестве параметра имя клипа,
//который должен перемещаться
onEnterFrame = function(){
image(myMC1);
image(myMC2);
image(myMCn);
}
//таким образом мувы myMC1, myMC2, myMCn будут появляться в пределах клипа some_mc в случайных местах
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.