Author:


9
октября

Тройной клик (as3.0)

Написал    в категории  Программирование 3

Тройной клик понадобился для функционала аудио плеера, аналогично управлению на ipod`ах. Один клик это — запуск песни и пауза, двойной клик — переход к следующей композиции, тройной — переход к началу композиции.

Задача. Сделать событие на тройной клик мыши, и убрать промежуточное срабатывание одного клика перед дабл кликом.

Минус в том что ожидание нажатия для всех положений одно :)

public function Main()
{
	clickTimer = new Timer(1);
	but = new button();
	addChild(but);

	but.buttonMode = true;
	but.doubleClickEnabled = true;
	but.addEventListener(MouseEvent.DOUBLE_CLICK, doubleHandle);
	but.addEventListener(MouseEvent.CLICK, clickHandle);
}

public function clickHandle(e:MouseEvent):void {
	stateClick = true;
	stateDoubleClick = false;

	if (! clickTimer.running) {
		clickTimer = new Timer(500, 1);
		clickTimer.addEventListener("timer", timerClickHandler);
		clickTimer.start();
	} else {
		trace("triple click");
		stateDoubleClick = false;
		stateClick = false;
	}
}

public function doubleHandle(e:MouseEvent):void {
	stateDoubleClick = true;
	stateClick = false;
}

public function timerClickHandler(event:TimerEvent):void {
	if (stateDoubleClick) trace("double click")
	if (stateClick) trace("just one click");
}

Наверное есть ещё какие-нибудь решение этой задачи, если кто знает то пишите в комменты.

28
сентября

Утечка памяти


Шейн Макартни сделал отличную презентацию. Для себя я отдельно выписал немного «догматов»:

  1. new Array(); -> Array[]
    new Object(); -> Object{}
  2. list[i] -> list[int(i)]
  3. list.push(item) -> list[length] = item
  4. list.splice(i, 1); -> list[i] = null -> list.splice(i, count)
  5. delete dict[key] -> dict[key] = null
  6. list = new Array(); -> list.length = 0;
  7. bmd = new BitmapData(32, 32); ->bmd.fillRect(bmd.rect, 0xFFF);
  8. while(i>0) {while(j>0) {} } -> while(k>0){}
  9. do1 function():void {do2} -> do12 function():void {}
  10. Определяй переменные в одну строку
  11. Деление хуже умножения
  12. MyType(instance) -> instance as MyType;

Ссылки:

26
сентября

Интернет-магазин Арго

Написал    в категории  Портфолио Обсудить

Светло-зелёный дизайн который так и не дошёл до умелых рук верстальщика и программиста.

Задача. Сделать магазин для людей занимающихся продажей гомеопатических припоратов.

Главная страничка, меню и корзинка с товарами.
basketbasket

Спасибо Борису за сотрудничество.
12
августа

Макет сайта для компании «Русский Дом»

Написал    в категории  Портфолио Обсудить

Компания является действительным членом Уральской палаты недвижимости. Да, вот такая вот крутая компания, хотелось бы выразить благодарность господину Комарову, за активное участие в данном проекте.

Задача. Создать макет сайта для фирмы занимающейся продажей недвижимости.

Главная страничка и немного внутренних:

index_pagePrewblog-Prewinside-full-pricePrewinside-textPrew

Бонуc: плюсс не принятый вариант :)

5
августа

BulkLoader загрузка xml


БулкЛоадер — это библиотека для загрузки любого контента написаная на AS3.0.

Возникла трудность при загрузке XML, не с прямой ссылки http:\\example.ru\managers.xml, а с адреса вот такого вида http:\\example.ru\managers\?xml. После загрузки:

private function onCompleteHandler(evt:ProgressEvent):void {
    var textObj : XML = _bulkLoader.getXML("regionXml");
    trace(textObj);
    _bulkLoader.clear();
}

вылетает ошибка:

[BulkLoader] Failed to get content with url: 'regionXml'as type: [class XML].

Необходимо просто забрать данные как обычный текст, далее его отпарсить в XML:

var textObj : Object = _bulkLoader.getText("regionXml");
regionVO.mXML = new XML(textObj);

Или добавить тип в параметрах загрузки:

// returning a simple text
bulkInstance.add("http://mysite.com/top-ten.php", {type:"text"});

// returning a xml file
bulkInstance.add("http://mysite.com/top-ten.php", {type:"xml"});

// returning a jpeg image:
bulkInstance.add("http://mysite.com/top-ten.php", {type:"image"});
1
августа

Серия баннеров для ForexClub

Написал    в категории  Flash, Портфолио Обсудить

Сам одно время увлекался игрой на бирже форекс, но к сожалению просрал свои 3000$ за 2 недели (естественно на тестовом акаунте :) ).

Задача. Создать симпатичную анимацию для баннеров. Поиграться с расстановкой слов.

forex

  1. Не говори жене, где я беру деньги.
  2. Не говори мужу, где я беру деньги.
  3. Как стать богатым?
  4. Как приручить деньги?
  5. Уникальная акция?
Данная работа была сделана на период работы в студии Ample.
27
июля

StreetFighter4

Написал    в категории  В пустоту Обсудить

Отличный файтинг, всё в нём идеально.

str
Ссылки

  1. http://www.eventhubs.com
21
июля

Python и Django

Написал    в категории  Полезное Обсудить

Python — высокоуровневый язык программирования общего назначения с акцентом на производительность разработчика и читаемость кода. Синтаксис ядра Питона минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.

Установка

База данных

После установки модуля, набираем в командной строке python и импортируем модуль: >>>import MySQLdb, если вылазит подобная ошибка:

>>> import MySQLdb
Traceback (most recent call last):
File "", line 1, in
File "C:\Python26\lib\site-packages\MySQLdb\__init__.py", line 19, in
import _mysql
ImportError: DLL load failed: The specified module could not be found.

То качаем две библиотеки: libmmd.dll и libguide40.dll.
Их необходимо скопировать в Lib\site-packages, после чего должно всё корректно импортнуться.

Запускаем сервер python manage.py runserver.

Ссылки

  1. Блог на хабре посвящённый языку Python
  2. DjangoBook
  3. Серия докладов (первая, вторая и третья части)
  4. Множество различных книг по питону (большинство на английском)
  5. Язык программирование Python (Гвидо Ван Россум)
  6. Курс на INTUIT.RU от Сузи
14
июля

Макет letcrew, вторая попытка

Написал    в категории  Портфолио Обсудить

Первый вариант сайта выглядит очень мрачно, и на плохом мониторе вообще можно ничего не увидеть. Нужно менять всё, и логотип тоже. Последнее успешно превратилось в нечто более современное, а макет остался в тёмных тонах, но выглядит симпатичнее первого варианта.

Задача. Сделать макет флеш сайта, да так чтобы красивее старого.

Вот бы ещё это всё зафлешить :)

12
июля

Серия баннеров для Lexus`a

Написал    в категории  Портфолио Обсудить

Их философия заключается в постоянном стремлении к совершенству.

Баннеры с красивыми тачками для LEXUS`a :)

  1. Lexus GS 300 Особые кредитные условия.
  2. Специальные условия кредитования А6.
  3. Тёплые опции.
Данная работа была сделана на период работы в студии Ample.

Rss Feed Tweeter button Facebook button