Skip to content

Instantly share code, notes, and snippets.

View tmshv's full-sized avatar

Roman Timashev tmshv

View GitHub Profile
@tmshv
tmshv / cellIndex.as
Last active December 14, 2015 02:29
/**
* Возвращает индекс ячейки
* @param index порядковый индекс
* @param length длина строки
* @return
*
*/
public function cellIndex(index:uint, length:uint):Object {
var r:uint = Math.floor(index / length);
var c:uint = index - (r * length);
@tmshv
tmshv / createSpriteWithCentredContent.as
Created January 28, 2013 15:09
Создает спрайт, помещает переданный объект внутрь этого спрайта, сам объект центрует
package ru.gotoandstop.display {
import flash.display.DisplayObject;
import flash.display.Sprite;
public function createSpriteWithCentredContent(content:DisplayObject):Sprite {
var s:Sprite = new Sprite();
content.x = -int(content.width / 2);
content.y = -int(content.height / 2);
s.addChild(content);
return s;
@tmshv
tmshv / ByteArrayUtil.as
Created November 6, 2012 16:25
SWF File Format Action Script Parser
package ru.gotoandstop.bytes{
import flash.utils.ByteArray;
/**
* @author: Roman Timashev (roman@tmshv.ru)
**/
public class ByteArrayUtil{
private static var __bitPosition:uint;
public function ByteArrayUtil(){
@tmshv
tmshv / Image.as
Created November 6, 2012 16:21
Image Action Sctipt Class
package ru.gotoandstop.display{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.BlendMode;
import flash.display.IBitmapDrawable;
import flash.geom.ColorTransform;
import flash.geom.Matrix;
import flash.geom.Rectangle;
/**
@tmshv
tmshv / classify_point.js
Created August 6, 2012 14:30
Определение положения точки относительно направленного отрезка прямой линии
/**
* define type of point relativly line
* point: {x:[number], y:[number]}
* line:
{
first:{x:[number], y:[number]},
second:{x:[number], y:[number]}
}
*/
function classify(point, line) {
@tmshv
tmshv / crosscord_sketch.as
Last active October 6, 2015 00:17
calc cross coord (as3)
/**
* return coordinate of crossing two lines defined by {x1; y1}, {x2; y2}
* @param l1
* @param l2
* @return
*/
private static function getCrossCoord(coef1:Object, coef2:Object):Point {
var a1:Number = coef1.a;
var b1:Number = coef1.b;
var c1:Number = coef1.c;
@tmshv
tmshv / DraggableSprite.as
Created May 27, 2012 15:57
Draggable sprite
package ru.gotoandstop.display {
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.IEventDispatcher;
import flash.events.MouseEvent;
[Event(name="change", type="flash.events.Event")]
/**
* @author Roman Timashev (roman@tmshv.ru)
@tmshv
tmshv / draw_arc.pde
Created May 24, 2012 14:17
How to draw arc shape in Processing
void drawArc(int center_x, int center_y, float start_a, float finish_a, float inner_radius, float outer_radius) {
fill(color(0, 0, 0));
float angle_delta = finish_a - start_a;
int pass_length = 1;
int pass_number = 0;
float angular_step = 0;
float cur_x = 0;
float cur_y = 0;
float current_angle = 0;