Skip to content

Instantly share code, notes, and snippets.

package com.playflock.game.screens.mainScreen.panels.monster
{
import flash.display.Bitmap;
import flash.display.DisplayObject;
import flash.display.Sprite;
/**
* При установки скэйлов всегда центрирует содержащий в себе спрайт
*/
public class CenterPivotSprite extends Sprite
@kolombet
kolombet / ScrollView.as
Created November 3, 2015 07:22
scrollview with scrollbar
package com.temp
{
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Rectangle;
public class ScrollView extends Sprite implements IBaseResizable
@kolombet
kolombet / onAddedToStage.as
Created October 22, 2015 08:06
Оборачиваем addedToStage коллбэком
public static function onAddedToStage(target:DisplayObject, callback:Function):void
{
if (target.stage)
{
onAdded();
}
else
{
target.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
@kolombet
kolombet / shitty_points.as
Created October 21, 2015 13:44
AS3 like JS
//AS3 тоже полон неоднозначностей
_parentWindow.header.height + _parentWindow.padding + _parentWindow.gap/2;
//Кто бы мог подумать, что padding это Point. И вместо того, чтобы ругнутья - он преобразуется в NaN
@kolombet
kolombet / get_class_test.as
Created October 21, 2015 07:29
Getting the Class of an object in AS3 #as3
//How faster get class of an object in as3?
[trace] TIMER one: Time passed: 226
[trace] TIMER two: Time passed: 1224
[trace] TIMER three: Time passed: 104
[inline]
public static function getClass1(obj:Object):Class {
return obj.constructor;
@kolombet
kolombet / test.as
Last active October 19, 2015 12:27
Условия
/**
* 1) Одинаковые ли по логике эти два варианта?
* 2) Какой из этих вариантов читабельнее?
* 3) Если потребуется сделать проверку еще на один source (SOURCE_ALWAYS_OVERWRITE), какой вариант легче будет модифицировать?
* 4) Можно ли переписать этот код более читабелнее/универсальнее?
*/
//вариант 1
if (source == SOURCE_ALWAYS_OVERWRITE)
{
@kolombet
kolombet / new_gist_file_0
Created October 14, 2015 07:38
js repeat n times
times = function(n, iterator) {
var accum = Array(Math.max(0, n));
for (var i = 0; i < n; i++) accum[i] = iterator.call();
return accum;
};
@kolombet
kolombet / frames
Created October 12, 2015 12:55
as3 recursive MovieClip control
/**
* Рекурсивно обходит детей у MovieClip и ищет все содержащиеся в нем MovieClip.
* Среди них ищет максимальное значение totalFrames
* @param container - MovieClip
* @return maxFrames - максимальное значение totalFrames
*/
public static function getTotalFrames(container:DisplayObjectContainer):int
{
var maxFrames:int = 0;
if (container.numChildren == 0)
@kolombet
kolombet / new_gist_file_0
Created October 7, 2015 09:18
Поиск по Dictionary
public function getItemByLevel(levelID:int):LevelLibItem
{
var item:LevelLibItem;
//Если это зафоршенный уровень - сразу возвращаем
item = _forcedLevels[levelID];
if (item != null)
{
return item;
}
@kolombet
kolombet / 0_reuse_code.js
Created October 7, 2015 09:17
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console