![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#21
|
|
![]() Jox ![]() ![]() ![]() Группа: Пользователь Сообщений: 374 Регистрация: 3.05.2006 Из: Озерск Пользователь №: 341 ![]() |
в as3 нет никакого _root ))) и так не прокатит. а as1/as2 я совсем забыл и вспоминать вообще не хочу.
в as3 конечно есть this, но фиг знает, прокатит или нет, вообще этим словом не пользуюсь практически. поэтому лучше писать так всегда CODE private var _a:uint = 10;
private function b(a:uint):void { trace(_a); } b(20); Сообщение отредактировал Jox - 31.03.2012 - 06:04 -------------------- http://joxflash.ru/
|
|
|
![]()
Сообщение
#22
|
|
![]() Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 1129 Регистрация: 27.02.2009 Из: Moscow Пользователь №: 9144 ![]() |
Ну в общем правильный ответ - this.a (ведь не сказано, что код на руте и сказано, что работает от AS1 до AS3), но ход мыслей был верный.
NB! Еще вопрос может быть такой: arr0=["раз", "два", "три"] arrk=[] Написать (ручкой на бумаге это все, без компов) код помещения элементов массива arr0 в массив arrk в случайном порядке. Ну если не код, то хотя бы алгоритм. Сообщение отредактировал chingachgoog - 31.03.2012 - 08:43 -------------------- |
|
|
![]()
Сообщение
#23
|
|
Заряд: 100% ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1118 Регистрация: 12.03.2008 Пользователь №: 4145 ![]() |
Я бы сделал вот так:
Код arr0 = ["раз", "два", "три"]; arrk = []; index = 0; for (i = 0; i < 3; i++) { index = arr0.length != 1 ? Math.round(Math.random() * (arr0.length - 1)) : 0; arrk.push(arr0[index]); arr0.splice(index, 1); } Я конечно проверил всё на компе прежде, чем тут публиковать ) Но всё же старался не пользоваться компом пока думал как сделать. |
|
|
![]()
Сообщение
#24
|
|
![]() Jox ![]() ![]() ![]() Группа: Пользователь Сообщений: 374 Регистрация: 3.05.2006 Из: Озерск Пользователь №: 341 ![]() |
я и имел ввиду this.a) но это как-то... мб да, на мышление, но в реальном случаи в проектах вряд ли пригодится.
CODE for (var i:uint = 0; i < arr0.length; i ++) { var val:String = arr0[Math.random()* arr0.length]; arrk.push(val); arrk.splice(Math.random()* arr0.length, 1); } как-то так, писал на память, скорей всего здесь косяк будет в цикле и нужно будет параметр обновляться, в общем скорей всего дополнительный метод надо будет создать, но механика примерно такая. -------------------- http://joxflash.ru/
|
|
|
![]()
Сообщение
#25
|
|
Заряд: 100% ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1118 Регистрация: 12.03.2008 Пользователь №: 4145 ![]() |
Цитата(Jox) for (var i:uint = 0; i < arr0.length; i ++) { var val:String = arr0[Math.random()* arr0.length]; arrk.push(val); arrk.splice(Math.random()* arr0.length, 1); } Jox, массив arrk таким образом в итоге будет пустой по-моему. И к тому же могут быть повторы элементов. |
|
|
![]()
Сообщение
#26
|
|
![]() Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 1129 Регистрация: 27.02.2009 Из: Moscow Пользователь №: 9144 ![]() |
splice - хорошее решение
/forum/index.php?showto...ost&p=12538 -------------------- |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 11.05.2013 - 08:43 |