VVVVVV/mobile_version/src/textboxclass.as

113 lines
2.9 KiB
ActionScript

package {
import flash.geom.*;
public class textboxclass {
public function textboxclass():void {
firstcreate();
}
public function firstcreate():void {
//Like clear, only it creates the actual arrays, etc
for (iter = 0; iter < 10; iter++) {
var t:String = new String; t = "";
line.push(t);
}
xp = 0; yp = 0; w = 0; h = 0; numlines = 0; lw = 0; tl = 0; tm = 0; active = false; timer = 0;
ybuffer = -1; redraw = true;
}
public function clear():void {
//Set all values to a default, required for creating a new entity
for (iter = 0; iter < 12; iter++) {
line[iter]="";
}
textrect = new Rectangle();
xp = 0; yp = 0; w = 0; h = 0; numlines = 1; lw = 0; tl = 0; tm = 0; active = true; timer = 0;
ybuffer = -1; redraw = true;
}
public function centerx():void { resize(); xp = 160 - (w / 2); resize(); }
public function centery():void { resize(); yp = 120 - (h / 2); resize(); }
public function adjust():void {
resize();
if (xp < 10) xp = 10;
if (yp < 10) yp = 10;
if (xp + w > 310) xp = 310 - w;
if (yp + h > 230) yp = 230 - h;
resize();
}
public function initcol(rr:int, gg:int, bb:int):void {
tr = rr; tg = gg; tb = bb;
r = 0; g = 0; b = 0; tl = 0.5;
}
public function setcol(rr:int, gg:int, bb:int):void {
r = rr; g = gg; b = bb;
}
public function update():void {
if (tm == 0) {
tl += .1;
if (tl >= 1) { tl = 1; tm = 1; }
setcol(int(tr * tl), int(tg * tl), int(tb * tl));
redraw = true;
}else if (tm == 2) {
tl -= .1;
if (tl <= 0.5) { tl = 0.5; active = false; }
setcol(int(tr * tl), int(tg * tl), int(tb * tl));
redraw = true;
}
if (timer > 0) {
timer--;
if (timer == 0) tm = 2;
}
}
public function remove():void {
//tm = 2; tl = 1; //Remove mode
tm = 2; tl = 0.4; //Remove mode
}
public function removefast():void {
tm = 2; tl = 0.4; //Remove mode
}
public function resize():void {
//Set the width and height to the correct sizes
max = 0;
for (iter = 0; iter < numlines; iter++) if (line[iter].length > max) max = line[iter].length;
lw = max;
w = (max +2) * 8;
h = (numlines + 2) * 8;
textrect.x = xp; textrect.y = yp; textrect.width = w; textrect.height = h;
}
public function addline(t:String):void {
line[numlines] = t;
numlines++;
resize();
if (numlines >= 12) numlines = 0;
}
//Fundamentals
public var line:Array = new Array;
public var xp:int, yp:int, lw:int, w:int, h:int, numlines:int;
public var r:int, g:int, b:int;
public var tr:int, tg:int, tb:int;
public var textrect:Rectangle;
public var active:Boolean;
public var timer:int;
public var tl:Number, tm:int;
public var iter:int, max:int;
//For android
public var ybuffer:int;
public var redraw:Boolean;
}
}