mirror of
https://github.com/wassname/phaser.git
synced 2026-07-17 01:30:32 +08:00
95 lines
1.8 KiB
TypeScript
95 lines
1.8 KiB
TypeScript
module Phaser {
|
|
|
|
export class Point1 {
|
|
|
|
constructor(x: number = 0, y: number = 0) {
|
|
|
|
//this.values = (typeof Float32Array !== 'undefined') ? new Float32Array(2) : new Array;
|
|
this.x = x;
|
|
this.y = y;
|
|
|
|
}
|
|
|
|
x: number;
|
|
y: number;
|
|
|
|
public add(dx: number, dy: number): Point1 {
|
|
|
|
this.x += dx;
|
|
this.y += dy;
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
export class Point2 {
|
|
|
|
constructor(x: number = 0, y: number = 0) {
|
|
|
|
this.values = new Float32Array(2);
|
|
this.values[0] = x;
|
|
this.values[1] = y;
|
|
|
|
}
|
|
|
|
get x(): number {
|
|
return this.values[0];
|
|
}
|
|
|
|
get y(): number {
|
|
return this.values[1];
|
|
}
|
|
|
|
set x(v: number) {
|
|
this.values[0] = v;
|
|
}
|
|
|
|
set y(v: number) {
|
|
this.values[1] = v;
|
|
}
|
|
|
|
values;
|
|
|
|
public add(dx: number, dy: number): Point2 {
|
|
|
|
this.values[0] += dx;
|
|
this.values[1] += dy;
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
window.onload = () => {
|
|
|
|
var b = document.getElementById('start').onclick = test;
|
|
var e = document.getElementById('content');
|
|
|
|
function test() {
|
|
|
|
var started = Date.now();
|
|
|
|
var a = new Phaser.Point1(Math.random(), Math.random());
|
|
|
|
for (var i = 0; i < 10000000; i++)
|
|
{
|
|
var b = new Phaser.Point1(Math.random(), Math.random());
|
|
a.add(b.x, b.y);
|
|
}
|
|
|
|
var ended = Date.now();
|
|
var duration = (ended - started) / 1000;
|
|
|
|
var s = 'Test started: ' + started + '\n';
|
|
s = s + 'Test ended: ' + ended + '\n';
|
|
s = s + 'Duration: ' + duration + '\n';
|
|
e.textContent = s;
|
|
|
|
}
|
|
|
|
}; |