Форум 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)
-   -   помогите с кодом! (http://www.flasher.ru/forum/showthread.php?t=70941)

Alex! 25.10.2005 10:44

помогите с кодом!
 
Привет всем! не могу разобраться: как написать код, чтобы mc появлялся в случайном месте клипа?

Код:

function image (){
this._x = random;
this._y = random;
}

пишу такое дело. Не догоняю что нужно.
ПОМОГИТЕ!

Король 25.10.2005 11:07

а обязательно каждый топик называть с восклицательным знаком?

function image (){
this._x = random(Stage.width);
this._y = random(Stage.height);
}

Бармалей 25.10.2005 11:24

Вложений: 1
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)) - вот это дело

Alex! 25.10.2005 11:55

спасибо. Но, Бармалей, не могу понять вроде всё правильно, но пишет ошибки.Дальше буду разбираться.

Бармалей 25.10.2005 12:02

исходничек, прикрепленный посмотри и еще раз почту проверь, я там еще кое что отправил

Alex! 25.10.2005 12:13

Да, посмотрел, спасибо. Не получается у меня маленько. Можно тебе прислать на мыло? подскажешь на месте так сказать.

Бармалей 25.10.2005 12:18

не, сейчас не могу, на работе сижу
ты наверно просто инстансы не прописал к мувам

Alex! 25.10.2005 13:04

Всё получилось, только вот, как сделать чтобы не один объект это делал , а скажем 20 шариков летал и как и первый.

Бармалей 27.10.2005 16:02

Цитата:

Сообщение от Alex!
Всё получилось, только вот, как сделать чтобы не один объект это делал , а скажем 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 в случайных местах


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

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