Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 06.11.2003, 02:23
lehin вне форума Посмотреть профиль Отправить личное сообщение для lehin Найти все сообщения от lehin
  № 1  
lehin

Регистрация: Feb 2002
Адрес: Russia
Сообщений: 2
По умолчанию Изменить Math.max

Объясните пожалуйтса, как сделать так чтобы этот код заработал. Мне нужно чтобы, Math.max сравнивал три числа!
спасибо

mathPlus = new Object();
mathPlus.__proto__ = Math;
mathPlus.oldMax = Math.max;
mathPlus.max = function(x, y, z) {
val1 = mathPlus.oldMax(x, y);
val2 = mathPlus.oldMax(val1, z);
return val2;
};
Object.prototype.Math = mathPlus;
Math.max(4, 5, 6);

Старый 06.11.2003, 02:59
Techmaker вне форума Посмотреть профиль Отправить личное сообщение для Techmaker Найти все сообщения от Techmaker
  № 2  
Techmaker
"человек"
 
Аватар для Techmaker

Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
Код:
newMax=function(){
  for(count=0,maxNum=false;count<arguments.length;count++){
    maxNum=Math.min(maxNum,arguments[count])
  }
  for(count=0;count<arguments.length;count++){
    maxNum=Math.max(maxNum,arguments[count])
  }
  return(maxNum)
}
trace(newMax(4,15,8,20,50,1))
trace(newMax(-4,-1))
//by Techmaker (newtech@front.ru)
возвращает максимальное число из перечисленных чисел(количество чисел неограничено).
__________________
flash it

Старый 06.11.2003, 13:40
Techmaker вне форума Посмотреть профиль Отправить личное сообщение для Techmaker Найти все сообщения от Techmaker
  № 3  
Techmaker
"человек"
 
Аватар для Techmaker

Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
вот так поэкономичнее будет
Код:
newMax=function(){
  for(maxNum=arguments[0],count=1;count<arguments.length;count++){
    maxNum=Math.max(maxNum,arguments[count])
  }
  return(maxNum)
}
trace(newMax(4,15,8,20,50,1))
trace(newMax(0,-4,-1))
//by Techmaker (newtech@front.ru)
__________________
flash it

Старый 06.11.2003, 19:18
Пушистик вне форума Посмотреть профиль Отправить личное сообщение для Пушистик Посетить домашнюю страницу Пушистик Найти все сообщения от Пушистик
  № 4  
Пушистик
Bumble Bee
[+1 05.07.06]
 
Аватар для Пушистик

Регистрация: May 2003
Адрес: Третья планета от Солнца
Сообщений: 1,254
Отправить сообщение для Пушистик с помощью ICQ
а у меня другая функция:

Код:
function getMax() {
    function sortUp(el1, el2) {
        return el1-el2;
    }
    arguments.sort(sortUp);
    last = arguments.length-1;
    return arguments[last];
}
пример использования:

trace(getMax(220, 54, 8, 71, 2));
trace(getMax(4,6,5));

--------------------------
__________________
Portfolio

Старый 06.11.2003, 19:22
Пушистик вне форума Посмотреть профиль Отправить личное сообщение для Пушистик Посетить домашнюю страницу Пушистик Найти все сообщения от Пушистик
  № 5  
Пушистик
Bumble Bee
[+1 05.07.06]
 
Аватар для Пушистик

Регистрация: May 2003
Адрес: Третья планета от Солнца
Сообщений: 1,254
Отправить сообщение для Пушистик с помощью ICQ
нееее.....вот так вот буит поэкономинее

Код:
function getMax() {
    function sortUp(el1, el2) {
        return el2-el1;
    }
    arguments.sort(sortUp);
    return arguments[0];
}
__________________
Portfolio

Старый 06.11.2003, 20:28
lehin вне форума Посмотреть профиль Отправить личное сообщение для lehin Найти все сообщения от lehin
  № 6  
lehin

Регистрация: Feb 2002
Адрес: Russia
Сообщений: 2
По умолчанию послушайте люди!

Я думаю, что я смогу сделать свою собственную функцию! Хотя спасибо вам за примеры. Мой вопрос был следующий: как переделать уже существующий метод в ActionScript?
Вот вам пример, который работает, кстати говоря в данном примере Math.random будет брать числа между 24 и 60;

mathTest = new Object();
mathTest.__proto__ = Math;
mathTest.oldRand = Math.random;
mathTest.random = function(min, max) {
return Math.floor(mathTest.oldRand()*((max-min)+1))+min;
};
Object.prototype.Math = mathTest;
for (i=0; i<20; i++) {
a = Math.oldRand();
b = Math.random(24, 60);
trace("oldRand: "+a+" Random: "+b);
}

Вот оно! А почему Math.max не работает(самое первое сообщение)?
Всем огромное спасибо!

Старый 08.11.2003, 15:08
Techmaker вне форума Посмотреть профиль Отправить личное сообщение для Techmaker Найти все сообщения от Techmaker
  № 7  
Techmaker
"человек"
 
Аватар для Techmaker

Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
2lehin
а зачам тебе извращатся и заменять базовую функцию
__________________
flash it

Создать новую тему   Часовой пояс GMT +4, время: 07:18.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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