![]() |
старый добрый swap() — возможен вообще?
У меня код как рулон обоев только из-за того, что я не вижу никакой возможности вынести конструкцию типа
Код AS3:
Такое вообще возможно на AS3? Скорость работы критична — таких операций десятки тысяч на кадр. |
А чего нельзя обернуть операцию в функцию статического класса?
|
Немножечко поумничаю: вроде как нет такого понятия "статический класс" в AS3, и функции класса принято называть методами.
Но не суть — а что это даст? Метод не работает с числовым аргументом как со ссылкой. Он его... как бы это сказать... локализует автоматом. Поэтому если ты передашь какой-то a:Number = 10.5 в какой-то метод, внутри которого происходит коварное a = 5.5, это не возымеет никакого эффекта снаружи. Там a по прежнему будет равняться 10.5 Если бы все было так просто ;) |
вариант - хранить 2 числа как объект или массив, тогда при передаче в функцию свап становится возможным )
|
Скорость доступа к динамическому полю объекта или к элементу массива расценивается как неудовлетворительная.
|
дык задай жестко, классом с паблик переменными - так очень даже удовлетворительно )
хотя конечно сама идея вызывать функцию, чтобы она меняла... Сам по-себе вызов функции дорогой.. Это если конечно настолько критично по скоростям. |
Менять надо походу четыре пары по одному условию. И если задуматься об организации swap-а для 12 переменных, с явным указанием на конкретную пару... как-то лучше как у меня сейчас:
Код AS3:
|
в байткоде кстати есть операция swap.. но это так, к слову :)
|
В функцию фиг знает как обернуть, но вобще можно обойтись и без 3 переменной.
Код AS3:
|
@i.o. тогда это свинство! ))
@Bgg хочешь сказать, что это быстрее? или так, к общей пьянке? ) |
| Часовой пояс GMT +4, время: 16:35. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.