OSDN Git Service

devideScalar と maxAbsoluteScale メソッドを追加
authorYoshihiro Yamazaki <yoya@awm.jp>
Tue, 25 Dec 2012 07:54:13 +0000 (16:54 +0900)
committerYoshihiro Yamazaki <yoya@awm.jp>
Tue, 25 Dec 2012 07:54:13 +0000 (16:54 +0900)
src/swf/matrix.js

index 0263169..81b3cad 100644 (file)
@@ -28,7 +28,6 @@ FlappSWFMatrix.multiplyScalar = function(m1, a) {
     return m;
 };
 
-
 FlappSWFMatrix.multiply = function(m1, m2) {
     var m = new Float32Array(6);
     /*
@@ -44,6 +43,28 @@ FlappSWFMatrix.multiply = function(m1, m2) {
     return m;
 };
 
+FlappSWFMatrix.divideScalar = function(m1, a) {
+    var m = new Float32Array(6)
+    m[0] = m1[0] / a;
+    m[1] = m1[1] / a;
+    m[2] = m1[2] / a;
+    m[3] = m1[3] / a;
+    m[4] = m1[4] / a;
+    m[5] = m1[5] / a;
+    return m;
+};
+
+FlappSWFMatrix.maxAbsoluteScale = function(m) {
+    var a0 = (m[0] > 0)?m[0]:-m[0];
+    var a1 = (m[1] > 0)?m[1]:-m[1];
+    var a2 = (m[2] > 0)?m[2]:-m[2];
+    var a3 = (m[3] > 0)?m[3]:-m[3];
+    var aMax = (a0 > a1)?a0:a1;
+    if (aMax < a2) aMax=a2;
+    if (aMax < a3) aMax=a3;
+    return aMax;
+};;
+
 FlappSWFMatrix.load = function(ibit) {
     ibit.a();
     var m = new Float32Array(6);