Archive for Октябрь 2007

У меня родилась дочка!!!

Октябрь 14, 2007

Да, да. У меня, 12 октяьря родилась дочурка. Самое интересное, что она родилась в день рождения своей матери, т.е. моей жены. И теперь у меня 12 октября станет вторым восьмым марта. Дочку назвали Маша. Решили это сделать из-за того, что ребенок сам банально не сможет произнести София, да и как то ласково это имя не произнесешь. А говорить Соня не хочется. Ведь как корабль назовёшь, так он и поплывёт.

Удачного тебе плавания по жизни, Машенька.

Реклама

Flash. Ошибки новичка.

Октябрь 10, 2007

Я, используя loader, загрузил картинку и сразу же её ложил в некоторый MovieClip. Как оказалось, при увеличении этого клипа картинка переставала отображаться. Обход этой ситуации оказался следующий. Загруженную картинку нужно просто было нарисовать на Shape, а потом этот Shape бросить на MovieClip, который мы будем расширять. Этот способ позволил также включить сглаживание при увеличении (последний параметр в beginBitmapFill)


var image:Bitmap = new Bitmap(event.target.loader.content.bitmapData.clone());
var shape:Shape = new Shape();

shape.graphics.beginBitmapFill(image.bitmapData, null, false, true);
shape.graphics.drawRect(0,0,image.width, image.height);
shape.graphics.endFill();

Flash. Refactoring.

Октябрь 2, 2007

Я программирую в основном на Java. Но вот понадобился Flash. Что я могу сказать по этому поводу…. Flash обзавёлся ноым языком снераиев (последний раз я видел флеш когда была только пятая версия). Этот язык похож на Java, всё при неём: ООП, пакеты….Порадовала обработка XML.

Но, честно сказать, очень тяжело (а если точно сказать лень) изучать что-то похожее. Был бы полным ламаком, учил бы с нуля и знал бы самые простые вещи. Вот и приходиться по форумам лазить.

Это было отступление от темы….. :)

Так вот, на моей карте оказалось уже два таскаемых объекта. Это карта и панель масштаба. Когда пришла очередь миникарты, то я понял, что надо что-то менят. Третий объект, в котором опять од-но и тоже. Вот тут нам и поможет наследование.

Реализовал клас, который позволяет создавать объекты, которые можно таскать в переделах экрана.

Всё просто, берешь и рисуешь мувик, который будет у нас фоном. Единственное требовани : верхнний левый угол этого мувика должен быть в координатах 0,0. Называешь его к примеру Background. Наследуешь его от моего класса. Для этого пишешь примерно такой код.


/**
* Фон Ð´Ð»Ñ Ð¿Ð°Ð½ÐµÐ»Ð¸ "
*/

package {

import by.strix.MovedBackground;

public class Background extends MovedBackground {
}
}

После этого ложишь свой BackGround на любой клип на задний план. Вот и всё.

Код моего класса следующий.


/**
* Фон Ð´Ð»Ñ Ð¿Ð°Ð½ÐµÐ»ÐµÐ¹. ÐозволÑÐµÑ Ð¸Ñ Ð´Ð²Ð¸Ð³Ð°ÑÑ Ð² пÑÐµÐ´ÐµÐ»Ð°Ñ Ð²Ð¸Ð´Ð¸Ð¼Ð¾Ð¹ облаÑÑи
* !!! ÐÐÐÐÐÐÐÐ. ÐÐ»Ñ ÐºÐ¾ÑÑекÑной ÑабоÑÑ Ð½ÐµÐ¾Ð±Ñодимо, ÑÑо Ð±Ñ Ñон наÑиналÑÑ Ñ (0,0)
*/

package by.strix {

import flash.display.MovieClip;
import flash.events.*;
import flash.geom.Rectangle;

public class MovedBackground extends MovieClip {

//private var settings:XML = MovieClip(root).settings.getSettings();

private var _parent:MovieClip = MovieClip(parent);

public function MovedBackground() {


// УÑÑановка обÑабоÑÑиков Ð´Ð»Ñ Ð¿ÐµÑеÑÑгиваниÑ.
addEventListener(MouseEvent.MOUSE_DOWN, handleMouseDown);
addEventListener(MouseEvent.MOUSE_UP, handleMouseUp);
stage.addEventListener(Event.MOUSE_LEAVE, handleMouseLeave);


// УÑÑановка обÑбоÑÑиков Ñ ÑодиÑелÑ, Ð´Ð»Ñ ÐºÐ¾ÑоÑого ÑвлемÑÑ Ð·Ð°Ð´Ð½Ð¸Ð¼ Ñоном, Ð´Ð»Ñ Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ð¸Ñ.
_parent.addEventListener(MouseEvent.MOUSE_OVER, handleMouseOver);
_parent.addEventListener(MouseEvent.MOUSE_OUT, handleMouseOut);

// пÑогÑаммно ÑÑÑанавливаем в заÑемненное положение
handleMouseOut(null);
}

function handleMouseDown(event:Event):void {
// ХиÑÑое вÑÑмÑление Rect Ð´Ð»Ñ StartDrag ÑвÑзвно ÑÑем, ÑÑо наÑало клипа не в нÑле.
var dx:Number = width-stage.stageWidth + x;
var dy:Number = height-stage.stageHeight + y;
var dragRect:Rectangle = new Rectangle(-dx,-dy, dx-x,dy-y);
//parent.startDrag(false, dragRect);
//startDrag(false, dragRect);*/
MovieClip(parent).startDrag(false, dragRect);
}

function handleMouseUp(event:Event):void {
//parent.stopDrag();
stopDrag();
}

function handleMouseLeave(event:Event=undefined):void {
/*if (root.panel.dragged_mc){
root.panel.handleMouseUp();
}*/
handleMouseUp(event);
}

// Ðаводи мÑÑкÑ
function handleMouseOver(event:Event=undefined):void {
_parent.alpha = 1;
}

// Уводим мÑÑкÑ
function handleMouseOut(event:Event=undefined):void {
_parent.alpha = 0.25;
}
}
}

Flash. Проблемы с прокруткой.

Октябрь 2, 2007

Сделал во влеше возможность прокручивать карту мышкой. Но кроме карты еще начала прокручивать и страница. Решение было найдено по этому адресу http://etcs.ru/blog/as3/globalmouse/ а его описание — по этому адресу http://www.flasher.ru/forum/showthread.php?t=99708

Strix. Работа кипит :)

Октябрь 1, 2007

Мда…. столько инетересно просисходит при разработке чего-то ни было, что решил немного опубликовывать.

1. Наш дизайнер сдлал мега дизайн.

2. Ну а это переписка с моим коллегой по цеху, Юриком.

Пока я писал это пост, Kinder уже успел всё зделать сам. Тем кому интересно идут на нашу первую официальную страничку. Не забываем оставлять мнение в коментах.