Печатай и играй

Апрель 29, 2011

Качай “Крысь, добивай”, печатай и играй! Моя первая настольная игра по мотивам Манчкинской серии.

Подробнее…

Работает во FlashDevelop:

CONFIG::debug {
   trace("Only Debug version");
}

CONFIG::release {
   Alert.show("Only release version code");
}

Также можно переопределять функции:

CONFIG::debug
private function init():void
{
   initEditor();
   initGame();
}

CONFIG::release
private function init():void
{
   initGame();
}

Этот способ, не очень удобен, например при создании SWC библиотек. В таких случаях можно использовать:

public static var isDebug:Boolean = new Error().getStackTrace().search(/:[0-9]+\]$/m) > -1;

У вас есть png картинка с прозрачными областями положенная в Sprite. События MouseEvent.ROLL_OVER и MouseEvent.ROLL_OUT срабатывают на прямоугольной области картинки вместо того, чтобы реагировать лишь на непрозрачные пиксели.

Демо:

Решение – скачать проект:

public function mouseHits(target:DisplayObject):Boolean{

	if (target == null || target.stage == null){
	return false;
	}

	if (target.hitTestPoint(target.stage.mouseX, target.stage.mouseY)){

		var aMatrix:Matrix = new Matrix();
		aMatrix.translate(-target.mouseX, -target.mouseY);

		var bd:BitmapData= new BitmapData(1, 1, true, 0x00000000);
		bd.draw(target, aMatrix);

		var alpha:uint = ((bd.getPixel32(0, 0) >> 24) & 0xFF);

		bd.dispose();

		return alpha > 0x0F;
	}

	return false;

}

Например, swf файл анимации один, а персонажей с этой анимацией несколько, а мы хотим продублировать эту анимацию без повторной загрузки файла.

Создаём новый fla файл с одним кадром на главном TimeLine, в котором лежит MovieClip, помеченный галкой Export for ActionScript. Тогда код дублирования будет примерно следующим:

try {

	var content:MovieClip = loader.content as MovieClip;

	if (content.numChildren == 1 && content.totalFrames == 1) {

		var child:Object = content.getChildAt(0) as Object;

		var ChildClass:Class = child.constructor as Class;

		if (ChildClass != MovieClip && ChildClass != Shape && ChildClass != Sprite){
			return new ChildClass();
		}
	}

}catch (err:Error){

}

return loader.content;

Источник: flashcomguru.com

Для реализации проигрывания видео с любой позиции надо:

Простой сокет сервер на php для небольшой онлайн игры лежит тут

Для того, чтобы запустить сервер на компьютере должен быть установлен php (например в сборке с Apache и MySQL). В командной строке windows пишем:

 php [путь_к_socketServer.php] 

Пример клиентской части можно посмотреть в файле SocketConnection.as.

Внедрение шрифтов

Февраль 24, 2010

Источник: garbage-collector.ru

[Embed(source="/../lib/fonts/Verdana.ttf", fontFamily="Verdana", fontStyle="italic", fontWeight="bold", unicodeRange="U+0020-U+007F, U+00A0-U+00FF, U+0400-U+04FF")]
private var VerdanaFont:Class;

Список интервалов для unicodeRange (другие можно найти в flex sdk/frameworks/flash-unicode-table.xml):

  • U+0020-U+007F — основная латиница;
  • U+00A0-U+00FF — дополнительные символы, которые могут понадобиться (вроде знака © или русских кавычек-елочек);
  • U+0400-U+04FF — кириллические символы верхнего и нижнего регистров.
  • U+0030-U+0039,U+002E — цифры

Параметры fontStyle и fontWeight нужно использовать только в случае курсива или жирного шрифта во внедряемом файле.