mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-23 10:09:43 +01:00
72d018ea04
The android version just got a much needed update to fix some resolution issues on devices with cutouts. It turns out the mobile source was actually pretty out of date, like 3 versions out of date! This commit brings it up to date. All the changes have just been about keeping the game running on modern devices, though. The biggest change was adding the Starling library to the project, which made the game GPU powered and sped the whole thing up.
74 lines
2.2 KiB
ActionScript
74 lines
2.2 KiB
ActionScript
package {
|
|
import flash.geom.*;
|
|
|
|
public class entclass{
|
|
public function entclass():void {
|
|
clear();
|
|
}
|
|
|
|
public function clear():void {
|
|
//Set all values to a default, required for creating a new entity
|
|
active = false; invis = false;
|
|
type = 0; size = 0; tile = 0; rule = 0;
|
|
state = 0; statedelay = 0; life = 0; colour = 0; para = 0;
|
|
behave = 0; animate = 0;
|
|
|
|
xp = 0; yp = 0; ax = 0; ay = 0; vx = 0; vy = 0;
|
|
w = 16; h = 16; cx = 0; cy = 0;
|
|
newxp = 0; newyp = 0;
|
|
|
|
x1 = 0; y1 = 0; x2 = 320; y2 = 240;
|
|
|
|
jumping = false; gravity = false; onground = 0; onroof = 0; jumpframe = 0;
|
|
|
|
onentity = 0; harmful = false; onwall = 0; onxwall = 0; onywall = 0; isplatform = false;
|
|
|
|
framedelay = 0; drawframe = 0; walkingframe = 0; dir = 0; actionframe = 0;
|
|
}
|
|
|
|
public function outside():Boolean {
|
|
//returns true if any point of the entity is outside the map. adjusts velocity for a clean collision.
|
|
if (xp < x1){
|
|
xp = x1;
|
|
return true;
|
|
}
|
|
if (yp < y1) {
|
|
yp = y1;
|
|
return true;
|
|
}
|
|
if (xp + w > x2) {
|
|
xp = x2 - w;
|
|
return true;
|
|
}
|
|
if (yp + h > y2) {
|
|
yp = y2 - h;
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
//Fundamentals
|
|
public var active:Boolean, invis:Boolean;
|
|
public var type:int, size:int, tile:int, rule:int;
|
|
public var state:int, statedelay:int;
|
|
public var behave:int, animate:int, para:int;
|
|
public var life:int, colour:int;
|
|
//Position and velocity
|
|
public var xp:Number, yp:Number, oldxp:Number, oldyp:Number;
|
|
public var ax:Number, ay:Number, vx:Number, vy:Number;
|
|
public var cx:int, cy:int, w:int, h:int;
|
|
public var newxp:Number, newyp:Number; //For collision functions
|
|
public var isplatform:Boolean;
|
|
public var x1:int, y1:int, x2:int, y2:int;
|
|
//Collision Rules
|
|
public var onentity:int;
|
|
public var harmful:Boolean;
|
|
public var onwall:int, onxwall:int, onywall:int;
|
|
|
|
//Platforming specific
|
|
public var jumping:Boolean, gravity:Boolean, onground:int, onroof:int;
|
|
public var jumpframe:int;
|
|
//Animation
|
|
public var framedelay:int, drawframe:int, walkingframe:int, dir:int, actionframe:int;
|
|
}
|
|
}
|