Обозреватель
-
How Good Is Ryzen 5 5600x for Gaming? – 1440p and 4K - The landscape of gaming hardware has never been as diverse and competitive as it is today. The advent of next-generation consoles and high-performance ga...3 года назад
-
Казино ПинАп: PIN UP casino играть онлайн на реальные деньг - Казино ПинАп: PIN UP casino играть онлайн на реальные деньги Пинап официальный сайт: казино и букмекерская контора pin up bet Content Плюсы и минусы клуба ...3 года назад
-
-
Hello world! - Welcome to WordPress. This is your first post. Edit or delete it, then start writing!4 года назад
-
Продажа сайта - Внимание. Этот сайт продается. По вопросам покупки вы можете написать вк https://vk.com/andreyegoroff Запись Продажа сайта впервые опубликована на сайте ...5 лет назад
-
slot online indonesia - SOCIAL MEDIA MANAGER, WILL NEED TO HAVE THIS 7 SKILLS TO SUCCESS INSIDE THE DIGITAL ENVIRONMENT! It is unquestionable that millennial humans include a li...6 лет назад
-
Ведущий UI/UX дизайнер - Мы приглашаем ведущего UI/UX-дизайнера с опытом принятия решений на завершенных проектах, который сможет выстроить работу над UX частью всех проектов компа...7 лет назад
-
Bathroom Tiles Ennis - Bathroom tiles ennis with design image. Bathroom tiles ennis with inspiration image. Bathroom tiles ennis with inspiration gallery. Bathroom tiles ennis wi...9 лет назад
-
Get the Scoop on Writing Tips Before You’re Too Late - Your articles must be precise and to the point, especially whenever you’re writing for the internet. If you discover that you have some poems on specific t...9 лет назад
-
Links for 2017-02-22 [del.icio.us] - - Sponsored: 64% off Code Black Drone with HD Camera Our #1 Best-Selling Drone--Meet the Dark Night of the Sky!9 лет назад
-
Cергей Грицай: Defense of Egypt: Cleopatra Mission- на Стим. - Хочу представить вам Нашу новую игру "Битва за Египет". Помогите пожалуйста пройти Steam Greenlight ! http://steamcommunity.com/sharedfiles/filedetails/?id=7...10 лет назад
-
-
Приходите на BAFPUG 2015 в субботу 10 октября - Приглашаем всех Flash/Flex девелоперов на встречу BAFPUG 2015. Будут доклады о разработке игр, Stage3D, архитектуре и не только. Список: 1. Иван Шабан -...10 лет назад
-
Flex4.6 + Symfony 2.3 = Авторизация пользователей из Flash приложения - Дали мне тут тестовую задачу, типа, а напишите ко Вы нам, ни много ни мало, приложение, реализующее механизм Авторизации/Регистрации пользователей на flas...11 лет назад
-
Redisson - распределенные и масштабируемые структуры данных Java на основе сервера Redis - Опубликовал первый релиз проекта Redisson. Проект позволяет использвать знакомые всем структуры данных Java (Set, List, Map, Queue, AtomicLong, Lock, Count...12 лет назад
-
Аддиктивность, или простой способ зацепить игрока - Мой доклад для игровой конференции Get IT, которая проходила в ХАрькове в 2013 году12 лет назад
-
Особенности Flash Builder - Вот лично мне в работе крайне мешает регулярно отключающийся Refactor, пункты меню попросту недоступны. Чтобы они вновь стали доступны, надо что-нибудь с т...13 лет назад
-
Биндинг. Трюки. - О том что такое биндинг, зачем он нужен и как его использовать, я уже рассказывал в цикле статей «Биндинг в ActionScript проектах 1, 2, 3». В этих статьях ...13 лет назад
-
UAFPUG-40. Материалы к моему докладу по Mate - На UAFPUG-40 я рассказал немного о Mate и попытался описать как оно работает на принципиальном уровне. Моя презентация на гуглдоках ( исходник презентации ...13 лет назад
-
-
Если у вас не запускается проект в debug mode... - Посмотрите в mm.cfg - возможно FireBug вставил туда две строки: SuppressDebuggerExceptionDialogs=1 PreloadSWF=... После их удаления все должно заработать.15 лет назад
-
WUM Public Alpha - Watch your music online! With WUM, you can: - Become a VJ in 42 seconds! - Visualize any soundtrack using selected Vizi a from the set. - Add any mp3 audio...15 лет назад
-
-
Synchronet.ru - Недавно компания «Синхро системс», в которой я работаю ведущим Flash-разработчиком, объявила о запуске своего нового продукта Synchronet.ru . Synchronet....16 лет назад
-
Realaxy ActionScript Editor - Вот такие вот новости: Realaxy ActionScript Editor будет впервые представлен публике на конференции Creative Future в Москве, 23 апреля, по адресу ул. Новы...16 лет назад
-
JW Player ver. 5 vs Flex - Тем, кто намучался и бросил, но всеже хочет использовать JW Player Ver. 5 в своем Flex приложении, котоый весьма загадочным образом был написан так чтобы н...16 лет назад
-
-
Вращение блудного сильверлайтера - Привет ребята, пишу вам из далёкой Калифорнии, куда забросила судьба меня и мою жену. Так получилось, что я, очень резко, из флексера-страдальца превратилс...17 лет назад
-
Пройти тест на скорость печати - Как быстро вы печатаете на клавиатуре? Владеете слепым методом? Проверь свою скорость набора текста. Есть полезные советы и ссылки на бесплатные обучающие п...17 лет назад
-
Оригинальный фон для Canvas - Придумывая фон для своего сайта, я решил сделать что-то вроде подмалевка, имитацию лессирующих мазков на полотне. Сегодня я поделюсь своим рецептом данного...17 лет назад
-
Аннотирование классов с помощью собственных метатегов. - В этой статье я попробую пролить свет на одну интересную возможность Flex3. А именно, возможность аннотирования классов ActionScript при помощи собственных...18 лет назад
-
-
FSCommand exec и передача параметров - Столкнулся с такой проблемой:необходимо вызывать exe файл c параметрами из flash projector exe.Как известно, параметры передавать в fscommand("exec", "file...18 лет назад
-
Смотрю квартиру 28 февраля в 20:00 - Срочно сдам комнату в 2-х комнатной квартире. Ст. м. Октябрьское поле. 2 мин. от метро (почти напротив...) Вся мебель, ТВ, холодильник отдельный, инет (за ...18 лет назад
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Observer
-
Headfirst into PCI/NPI Redaction - tl;dr; How can prevent personal data from getting into logs and enable this for development teams without any work beyond npm update? Spending the last 3 w...4 недели назад
-
-
New portfolio online - At long last – it took me over 2 years since I started the project – I have finally put a new, MVP version of my portfolio online, also at a new URL: meet ...5 недель назад
-
Hatcha: The Agentic Interview - Hatcha: The Agentic Interview This post dives into our “Agentic Interview” feature that was built for Hatcha, our event-planning app powered by Flutter G...месяц назад
-
Build a HTML5 game like Geometry Dash using Phaser 4 and TypeScript, with a simple custom physics engine - The cube in Geometry Dash always lands perfectly square. It's not rigid-body physics: the spin is purely cosmetic. The hitbox never rotates, and the game s...2 месяца назад
-
-
How deep learning is making OCR smarter than ever - Optical character recognition used to feel like a museum display — clever, but fragile.… The post How deep learning is making OCR smarter than ever appea...5 месяцев назад
-
Smashed (#1-5) - 20265″ x 4″ x 2″Bronze The post Smashed (#1-5) first appeared on Doug McCune.6 месяцев назад
-
Flash Drives with High IOPS: input/output operations, performance, efficiency - Flash drives with high IOPS (Input/Output Operations Per Second) are engineered for outstanding performance, making them … Flash Drives with High IOPS: inp...9 месяцев назад
-
4 idéer om hur man förvarar barnkläder - Har du svårt att hålla ordning på dina barns kläder? Om så är fallet behöver du inte oroa dig. De flesta föräldrar gör det! I den här artikeln kommer vi ...5 лет назад
-
Everything You Need to Know about RAID Levels - As businesses expand, the demand for stable and robust infrastructure arises. One of the essential characteristics of a scalable system is good memory ma...6 лет назад
-
JavaScript Tip of the Day - Once upon a time I started an AS3 Tip of the Day thread over on the kirupa forums. It helped people to get ramped up with AS3, especially in transition fro...6 лет назад
-
What Do I Need To Know About JavaScript Part I - This is a frequent question I receive from those wishing to parlay a knowledge of Javascript into a long career as a developer. Speaking of long careers, m...6 лет назад
-
Micro Credit For Entrepreneurial Women: Detailed Guidebook - Some women need a little wind to sail to improve their financial situation and living standards, and micro-credit is one of the financing supports tailor...6 лет назад
-
Discrete space notions - A lattice configuration with scale Space is made of tiny (think quark size) discrete sphere-like bubbles in a hex lattice. We’ll call them ‘pockets’. They ...7 лет назад
-
Road to Raybeem – VR Music Visualizer - Raybeem is available on Steam for Oculus Rift & HTC Vive. Raybeem is the first VR project from Sokay. It’s not 2D. It’s not a game. Yet, it’s as close to...8 лет назад
-
Camino de Santiago sketch maps - Back in October in Montréal I finished my term on the NACIS board of directors at the annual conference. (Side note: see video of the conference talks!) Ta...8 лет назад
-
Here’s how to watch beIN Sports outside the Middle East with a VPN - As everyone who has used beIN Sports’ services will easily tell you, the network offers one of the most comprehensive sports packages in the world. Footb...8 лет назад
-
Spark Color Picker - This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file i...9 лет назад
-
Goodbye and thank you, Flash Player, for all that jazz - My adventure with Flash Player had started back in 2002 when I’ve explored the capabilities of this platform for the User Interface prototyping at Philips ...9 лет назад
-
"Sparse Vermiform" Rendering of Fluids with Pressure Based Color - This blog post discusses a technique for rendering SideFX Houdini FLIP fluids as sparse fields of wormlike particles (hence my slightly over-the-top *Sp...9 лет назад
-
-
ds 2.0-beta released - I’ve just uploaded a new version of my data structures library for Haxe to haxelib. Please note that the new version requires Haxe 3.3.0-rc.1 and might not...10 лет назад
-
What are UV coordinates? - Isn’t it amazing how many people in the field do not understand UV coordinates? I thought so too, so back in 2011 I took two images from Senocular article ...10 лет назад
-
Project: WebGL Porsche 911 Showcase - I don’t really get to post much about actual projects for a couple of reasons. My work is usually behind the scenes graphics coding, which typically result...10 лет назад
-
Content Strategy: Why You Should Hire a Journalist - When it comes to the content strategy and ongoing content creation, who is going to be creating your content? We suggest hiring a journalist. Continue Re...11 лет назад
-
The New Particle - I’ve had this idea for a quite time now (few years I guess), but haven’t released it because it felt so stupid. Yes, just good old fashioned stupid, simple...11 лет назад
-
Taking the web offline – Service Worker (Death of the dinosaur) - If you are not interested in the full story watch the result here. If I look at my work for parleys.com it seems like the circle is finally closing. When I...11 лет назад
-
Adobe Creative SDK Update v0.5.2062 - In the latest update to the Creative SDK released this week there are a few changes to look at. First the SDK now requires Xcode 6. There is also updates...11 лет назад
-
write my essay below best school report publishing solution using the internet - An important intention in this course is the roll-out of effective tech writing techniques. To help you to turn out to be an carried out publisher, you can...12 лет назад
-
Unity 5, WebGL and the Plugin-pocalypse - Well it has happened, Unity announced WebGL exporting. This was a much needed announcement and our flash man on the inside, UnitZeroOne / Ralph Hauwert of...12 лет назад
-
On Software Entropy - I know, I know. I’ve been claiming that I’m going to start blogging regularly again for several years now and it hasn’t happened. With the death of Google ...13 лет назад
-
creators of flash announce "explory" - in the "where are they now..." category, the creators of flash & co (Jonathan Gay, Peter Goldie, Gary Grossman, Peter Santangeli, and Robert Tatsumi) just ...13 лет назад
-
How to pick a great brand name - How to pick a great brand name (and domain too) Today I want to share with you our a snippet from our internal company guidelines for picking a new brand n...13 лет назад
-
Factory Reset - Leaving something behind you is never easy when you put your whole heart into it. Five years of Audiotool have shaped me, taught me and left their scars. A...13 лет назад
-
Where to find me - As you probably have noticed, there is not much going on this blog anymore. Most of my activity is now happening on the various social outlets. So if you w...13 лет назад
-
-
WebP decoder for Flash. - Nothing much here, but I thought I’d share a handy little library to decode WebP in Flash. Here’s two demo’s : Lena and V for Vendetta, both encoded using ...14 лет назад
-
Officially Temporary Closed - Over the last months I was watching myself surfing to my own blog hoping that I have written something new. I have not. The last months were filled with a ...14 лет назад
-
Printing Invoices with Flex 4.5 - This is my first attempt at a print preview control for Flex 4.5. I am not a component developer so it does not have a lot of features right now.It current...15 лет назад
-
How to add custom Quick Assist options to FlashBuilder 4.5 ? - Adding custom quick assist options to FlashBuilder 4.5.1 is easy. Here is a sample plugin I created to show how this can be done. Copy this plugin into th...15 лет назад
-
Game Music: Gunbird (ガンバード) - Everybody who knows Shoot’em’ups probably knows Gunbird! This is a classic that doesn’t need much explanation and as so often with this game genre it’s so...15 лет назад
-
Version 0.9 Released - Version 0.9 has been released. Thanks to Cliff Meyers and Nick Matelli for their contributions! What's changed: - Added PropertyGetter tag - Adde...15 лет назад
-
Introducing Summer - The HTML5 Library for Java - Summer is now officially over but we have a new project to announce and apparently it's called Summer. I've been working on it in the past few months and...15 лет назад
-
Android: Create your own sharing app - One of the first applications I did for Android was a very simple application which simply takes a picture using Camera and then send it to a remote server...16 лет назад
-
Spark Path Sound Visualizer - Flex 4 SDK final is out. It’s time to update and post some early Flex 4 prototypes I’ve built with Beta 1 and 2 last year. Here is a simple Spark Path Soun...16 лет назад
-
Moving to http://blog.flexgeek.in - This has been in my mind for quite a while. I have had serious problems with my hosting of files and examples in the past. I was also considering moving to...17 лет назад
-
Moving on - Warning: this website is now closed, and comment writing is disabled. I’m moving the content of this site to zehfernando.com. The new domain name makes for...18 лет назад
-
As3Crypto is now open. Well, *more* open. - As3Crypto has been open-source from the start, but the development, iteration and feedback process isn’t quite as open and collaborative as it should be. T...18 лет назад
-
3rdParty.libraries - as3httpclient - extend HTTP/HTTPS API (Abdul Qabiz) israfil-mojo - Maven 2 plugin (Israfil Consulting Services) xpath-as3 - XPath (Peter Hall) as3-rpclib - a...19 лет назад
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
среда, 18 февраля 2009 г.
Как отформатировать размер файла
Для этой задачи я взял пример кода из интернета и переписал под Action Script 3. Получился метод который всегда выводит размер файла 4 значным числом, будь то 1,234 или 1000 и приставку kb, Mb, и т.д.
private function formatSizeValue( size : Number) : String
{
//Эти переменные лучше всего вынести в константы и, как вы догадались, они равты колличеству байт.
var longPB : Number = 1024 * 1024 * 1024 * 1024 * 1024;
var longTB : Number = 1024 * 1024 * 1024 * 1024;
var longGB : Number = 1024 * 1024 * 1024;
var longMB : Number = 1024 * 1024;
var longKB : Number = 1024;
var byteSize : String;
var displayNumber : Number;
Дальше выбикаем величину, в которой будем показывать размер
if (size >= longPB)
{
displayNumber = size / longPB;
byteSize = "Pb";
}
else if (size >= longTB)
{
displayNumber = size / longTB;
byteSize = "Tb";
}
else if (size >= longGB)
{
displayNumber = size /longGB;
byteSize = "Gb";
}
else if (size >= longMB)
{
displayNumber = size /longMB;
byteSize = "Mb";
}
else if (size >= longKB)
{
displayNumber = size / longKB;
byteSize = "kb";
}
else
{
displayNumber = size;
byteSize = "bytes";
}
// А здесь попрошу обратить внимание на метод toPrecision(n : int), вот он и делает число n значным, с округлением. Подробнее - читайте хелп :)
return displayNumber.toPrecision(4).toString() + ' ' + byteSize;
}
Как обнаружить, что файл был удален, или перемещен
Столкнулся с проблемкой что пользователь, открыв окошко для выбора файлов, начинает там наводить порядок. И бывали случаи когда этот файл был уже добавлен в список претендентов на закачку. И естественно, нажав upload происходил креш приложения.
Для этого я написал след метод:
private var _fr : FileReference;
public function get size() : uint
{
// Если фал был удален, то обращение к полю size у FileReference будет выдавать ошибку. Вот тут я и воспользовался try/catch
try {
return _fr.size;
}
catch(error : Error) {
dispatchEvent(new Event('itemWasDeleted') );
isError = true;
return 0;
}
return _fr.size;
}
Как раскрасить элементы листа в зависимости от местоположения
На этот вопрос развелась бурная дискуссия в чате UAFPUG. Внутри itemRenderer я изобрел след. велосипед:
return List(owner).itemRendererToIndex(this) % 2 ? 0xCCCCCC : 0xFFFFFF;
Rostislav Siryk: Тут лист используется только как ссылка на метод получения индекса из провайдера.
Если делать так, чтобы всего лишь разукрасить фон под itemRenderer - то лучше применить стиль alternatingItemColors. Но если вам нужно будет разукрасить внутренние компоненты, или сдвинуть их, то этот метод оптимальный.
Как получить ответ от сервера
Для этого я подсмотрел рецепт у http://flexcookbook.ru/ а именно: этот пост.
В интернете довольно много примеров по тому, как использовать FileReference для отправки файла на сервер, но мало где поясняется, как же все-таки отследить дальнейшую судьбу файла. Ведь событие Event.COMPLETE возникает всего лишь при удачной отправке файла на сервер. Как узнать, удалось ли вашему серверному приложению корректно обработать файл. Есть еще очень хорошее событие DataEvent.UPLOAD_COMPLETE_DATA которое возникает, если сервер вернул какие-то данные.
Итак, на COMPLETE у меня высвечивается Processing... а на UPLOAD_COMPLETE_DATA я выставляю галочку, что файл зааплодился успешно, и запрашиваю к нему путь через веб сервис.
Ну и напосдедок скажу, что отвечу на любые вопросы в комментариях :)
четверг, 14 августа 2008 г.
Стандарты кодирования в AS3. //Полезно
Стандарты кодирования в AS3. Flash. Flex. AIR. Haxe.
Статья посвящена систематизации стиля кодирования AS3.
http://flash-santer.com/docs/Coding%20Standards.doc - документ, описывающий систему.
воскресенье, 9 марта 2008 г.
AS2 автоматическая сборка компонентов без Flash IDE, с помощью FlashDevelop //Инструкция
Да-да стоят перед некоторыми и такие задачи :)
Итак, надо:
собрать swc, включающий swf компонента, catalog.xml, asi-файлы классов.
swf должен содержать клип, ассоциированный с классом компонента и все
графические ассеты в библиотеке.
здесь помогает swfmill - пишем xml собираем swf. ( :) предварительно
пришлось поразбирать несколько swf, компиленных во FLASH IDE чтоб
понять как писать xml)
<... редакция класса ... >
компилим mtasc - с инъекцией кода (проще говоря обновляем классы в ролике)
для генерации asi используем igen из тулзов flashdevelop'a
(оказывается asi это intrinsic :) )
пишем bat-файл (запускаем его как post-build команду), нечто вроде:
rem установка переменных
set tools="C:\Documents and Settings\ddns\Local Settings\Application
Data\FlashDevelop\Tools\"
rem вызываем igen
%tools%\igen\igen -clean src bin
rem переименовываем получившиеся *.as файлы в *.asi
for /R bin\ %%A in (*.as) do if exist %%A (
erase /q bin\%%~nA.asi // если такой файлик есть то стираем его.
rename %%A %%~nA.asi
)
erase bin\3d.swc
rem архивируем winrar'ом в zip
C:\Progra~1\winrar\winrar a -afzip bin\3d -r -ep1 -m5 -x*.bat -x*.exe bin\
rem изменяем расширение на *.swc
rename bin\3d.zip 3d.swc
rem :) опционально подкладываем файлик в папку компонентов флеша.
copy /Y /B bin\3d.swc "C:\Documents and Settings\ddns\Local
Settings\Application Data\Adobe\Flash
CS3\en\Configuration\Components\"
/////////////////////
Остается нерешенным вопрос, а как бы сгенерировать автоматически catalog.xml
для компонента?
Кто-нибудь что-нибудь посоветует?
xml вида:
<componentPackage xmlns="http://www.macromedia.com/flash/swccatalog/7">
<component id="myComponent" class="ComponentClass"
implementation="libc.swf" iconFile="libc.png"
src="Component3Dworks.asi" modified="1204586771">
<movieBounds xmin="0" xmax="11000" ymin="0" ymax="8000" />
<include id="boundingBox_mc"/>
<include id="activity"/>
<exportAfter id="__Packages.ComponentClass"/>
<class id="ComponentClass" >
</class>
<class id="MovieClip" >
</class>
<asset id="boundingBox_mc" modified="1204576209">
</asset>
<asset id="activity" modified="1204578626">
</asset>
<asset id="__Packages.ComponentClass" src="ComponentClass.asi"
modified="1204586020">
</asset>
</component>
вторник, 15 января 2008 г.
SmartFont //Класс загрузки внешних библиотек шрифтов
Над проблемой загрузки внешних библиотек шрифтов не трудился, наверное, только ленивый.
Вариантов решения проблемы много. Коммерческие, не коммерческие, рабочие, не рабочие, удобные и неудобные.
Вашему вниманию мой класс SmartFont.На сайте поддержки описаны все телодвижения, здесь же упомяну только общий ход использования:
var my_font:SmartFont = new SmartFont();
my_font.load(“someFont.swf”);
my_font.onLoad = function():Void {
trace(“Шрифт: “+this._font+” готов к использованию”);
}
понедельник, 14 января 2008 г.
ScrollRect vs setMask //Без комментариев.
Если нужно применить к клипу прямоугольную маску, вместо MovieClip.setMask(mc:MovieClip) лучше воспользоваться свойством scrollRect (доступно от 8-й версии и выше).
Плюс в производительности на лицо. Более того - под такой “маской” не пропадают системные и не-внедренные шрифты.
Использование предельно просто:
import flash.geom.Rectangle;
var maskRect:Rectangle = new Rectangle(x,y,width,height);
my_mc.scrollRect = maskRect;
С такой “маской” удобно делать также и скроллеры (собственно название выдает). Достаточно поменять значение x, y для Rectangle, и визуально мы видим смещение контента мувиКлипа.
Прелоадер для ‘img’ //Управление изображениями, подгружаемыми в Textfield
TextField - субстанция крайне интересная, взбаломошная и мистическая.Обуздание оной подчас превращается в подвиг Геракла.Несколько статей о TеxtField я обязательно размещу на страницах этого блога.
Многие знают, что в текстовое поле с подключенным html можно грузить картинки и флешки, а также вставлять символы из библиотеки.Но вот вопрос - а можно ли взаимодействовать с этими объектами? Например возможен ли прелоадер?ДА и очень просто. Фактически тег img создает внутри тексатового поля новый MovieClip. Если в html-коде прописан id для IMG, то будет создан клип именно с таким instance name. И обращаться к этому клипу можно через текстовое поле. К примеру если в текстовое поле my_txt внедряется картинка
[img src="http://murejib.wordpress.com/wp-admin/someIMG" id="img" /]
То мы можем обратиться к ней my_txt.img
Но что если у нас есть html-текст с img без id, и таких картинок много, а нам необходимо сделать скроллер для текстового поля. Пока картинки не загружены мы с большой долей вероятности получим неверную высоту поля.Есть простой способ - нам нужно просто завести массив для учета встроенных картинок
var htmlIMG:Array = [];
И пройтись по текстовому полю циклом for…in, помня, что картинки - это объекты типа MovieClip.
for (var mc in my_txt) {
if (typeof(my_txt[mc]) == “movieclip”) {
trace (”found IMG: “+my_txt[mc]);
htmlIMG.push(my_txt[mc])
}
}
Теперь у нас есть массив, в которые занесены ссылки на все клипы.А дальше - прелоадер должен собрать все загруженные байты этих клипов и все тотальные байты этих же клипов. Суммируем, делим, получаем процент. По завершению загрузки - проверяем высоту поля, и приделываем наш бесценный скроллер.
expRandom. //Управление распределением вероятности
Иногда бывает нужно, чтобы случайное число с большей вероятностью выпадало ближе к минимальным, или максимальным значениям.
Простой пример - Слот машина.Бонусные символы должны выпадать гораздо реже обычных символов.Существует масса способов реализовать такой рандом, о них, к примеру была речь на форуме flash-mx
Более того мне необходимо, что бы числа возвращались в жестко заданном диапазоне.Немного мозгового скрипа дало мне вот такую функцию.
function expoRandom(range:Number,w:Number):Number {
w = Math.max(w,1);
w = Math.min(w,709);
return Math.log(1+Math.random()*(Math.exp(w)-1))*(range/w);
}
В функцию передается два параметра - собственно диапазон, и, не знаю как это правильно обозвать, степень разброса. От это степени зависит насколько сильно выпадающие значения будут тесниться к максимальному краю. Чем больше степень, тем ближе к краю.
В функцию вставлена небольшая проверка - чтобы ширина не была меньше 1 (в этом случае мы получим обычный рандом) и не была больше 709 (в этом случае выражение Math.exp(w) даст нам infinity). Их собсвенно можно убрать, дабы не забивать процессор лишней работой.
Вся магия тут завязана на простой принцип - есть график логарифма. Мы берем случайное число по оси X и находим его логарифм по оси Y. Немного корректируем под наш диапазон - и результат на лице.
Вот к примеру такой:http://bbexp.ru/blog/_stuff/random.html
Анимация статичного растра. Имитация 3D. //Анимационный прием
Оригинал. Блог одиноко стоящего игрока вспышки.
Если у нас есть кусок растра, который во чтобы то ни стало надо как то анимировать - можно воспользоваться увлекательной нарезкой персонажа на куски )Принцип метода достаточно прост.
Имея представление о рельефе анимируемой фигуры, разбиваем растр на несколько клипов, фигурно отсекая лишние части на каждом уровне. Очень неплохо таким способом можно анимировать лица, морды, руки и т.д.
Первый пример наглядно иллюстрирует суть метода.
Главное - не перестараться со смещением верхних слоев - иначе станут видны нежелательные части тела на нижних слоях. Иногда, по необходимости, можно конечно и подкрасить пару тройку пикселей, чтобы заретушировать нежелательные детали на нижних слоях.