# HG changeset patch # User Nobuyasu Oshiro # Date 1337172972 -32400 # Node ID aa7abf13d3f565c691701a25af7db86b9b8933dd # Parent 47399f2f3a80940fdcc686491a599409df083379 fix bug diff -r 47399f2f3a80 -r aa7abf13d3f5 .DS_Store Binary file .DS_Store has changed diff -r 47399f2f3a80 -r aa7abf13d3f5 fps/fps.html --- a/fps/fps.html Wed May 16 17:53:54 2012 +0900 +++ b/fps/fps.html Wed May 16 21:56:12 2012 +0900 @@ -136,35 +136,34 @@ function setCamera(ctx){ - ctx.viewport(0, 0, width, height); + ctx.viewport(0, 0, width, height); var t = width/height; ctx.perspectiveMatrix.makeIdentity(); ctx.perspectiveMatrix.frustum(-0.5, 0.5, -0.5 / t, 0.5 / t, 1, 100000); - ctx.perspectiveMatrix.translate(-xPos,-yPos,-zPos); - ctx.perspectiveMatrix.rotate(xRool,0,1,0); - - ctx.perspectiveMatrix.multiply(cameraMatrix); - + var x = Math.cos((angle+90)*Math.PI/180 ); + var z = Math.sin((angle+90)*Math.PI/180 ); - cameraMatrix.translate(-xPos,-yPos,-zPos); - cameraMatrix.rotate(xRool,0,1,0); + cameraX += x * speedZ; + cameraZ += z * speedZ; - if(countX < 10) - countX += 0.01; + ctx.perspectiveMatrix.rotate(angle,0,1,0); + ctx.perspectiveMatrix.translate(cameraX,0,cameraZ); + } -countRool = 0; -countX = 0; +angle = 0; +cameraX = 0; +cameraZ = 0; FILPCOUNT = 0; function loop(ctx, ortho) { ctx.clear(ctx.COLOR_BUFFER_BIT | ctx.DEPTH_BUFFER_BIT); - setCamera(ctx); + setCamera(ctx); PutSpriteV(ctx, cube_X, cube_Y, cube_Z, 1, matrix, object); PutSpriteV(ctx, cube_X2, cube_Y2, cube_Z2, 1, matrix, object2); @@ -199,8 +198,6 @@ var ortho = {left:0, right:200, bottom:140, top:0} matrix = new J3DIMatrix4(); // global variable matrix2 = new J3DIMatrix4(); // global variable - cameraMatrix = new J3DIMatrix4(); // global variable - cameraMatrix.makeIdentity(); cube_X = 0; diff -r 47399f2f3a80 -r aa7abf13d3f5 fps/resources/keyboard.js --- a/fps/resources/keyboard.js Wed May 16 17:53:54 2012 +0900 +++ b/fps/resources/keyboard.js Wed May 16 21:56:12 2012 +0900 @@ -8,19 +8,19 @@ switch(String.fromCharCode(event.keyCode)) { case 'w': //Z+=d; - speedZ = 0.006; + speedZ += 0.1; break; case 'a': //X-=d; - speedX = -0.006; + speedX = -0.1; break; case 's': //Z-=d; - speedZ = -0.006; + speedZ -= -0.1; break; case 'd': //X+=d; - speedX = 0.006; + speedX = 0.1; break; case 'i': @@ -42,13 +42,14 @@ function keyboardUp() { - xPos = 0; - zPos = 0; +// xPos = 0; +// zPos = 0; xRool = 0; - speedX = 0; +// speedX = 0; speedZ = 0; + yaw = 0; yawRate = 0; //rotateX = 0; //rotateY = 0; @@ -60,19 +61,19 @@ switch(String.fromCharCode(event.keyCode)) { case 'w': //Z+=d; - speedZ = 0.006; + speedZ += 0.1; break; case 'a': //X-=d; - speedX = -0.006; + speedX = -0.1; break; case 's': //Z-=d; - speedZ = -0.006; + speedZ -= 0.1; break; case 'd': //X+=d; - speedX = 0.006; + speedX = 0.1; break; case 'i': @@ -93,7 +94,10 @@ function move(){ //if(speedX != 0) xPos += speedX; //if(speedZ != 0) zPos -= speedZ; - console.log(xRool); +// console.log(xRool); + console.log("speedZ = "+ speedZ); + console.log("angle = "+ angle); + /* if(speedX != 0) xPos += Math.sin(degToRad(yaw)) * speedX; if(speedZ != 0) zPos -= Math.cos(degToRad(yaw)) * speedZ; @@ -104,11 +108,12 @@ */ - if(speedX != 0) xPos += Math.sin(degToRad(yaw)) * speedX; - if(speedZ != 0) zPos -= Math.cos(degToRad(yaw)) * speedZ; - if(yawRate != 0) xRool = degToRad(yaw); + if(speedX != 0) xPos += Math.sin(degToRad(yaw)) * speedX; + if(speedZ != 0) zPos += Math.cos(degToRad(yaw)) * speedZ; + if(yawRate != 0) xRool += degToRad(yaw); + yaw += yawRate; - yaw += yawRate; + angle += xRool; } function degToRad(degrees) { diff -r 47399f2f3a80 -r aa7abf13d3f5 fps/resources/keyboard.js~ --- a/fps/resources/keyboard.js~ Wed May 16 17:53:54 2012 +0900 +++ b/fps/resources/keyboard.js~ Wed May 16 21:56:12 2012 +0900 @@ -1,3 +1,6 @@ +var x = 0; +var z = 0; + function keyboardDown() { //var d=-Z/20; @@ -6,7 +9,6 @@ case 'w': //Z+=d; speedZ = 0.006; - break; case 'a': //X-=d; @@ -22,16 +24,16 @@ break; case 'i': - rotateY = 0.006; + break; case 'j': - rotateX = -0.006; + yawRate = -0.1; break; case 'k': - rotateY = -0.006; + break; case 'l': - rotateX = 0.006; + yawRate = 0.1; break; default: break; @@ -40,15 +42,16 @@ function keyboardUp() { - xPos = 0; zPos = 0; - xEye = 0; - yEye = 0; + + xRool = 0; speedX = 0; speedZ = 0; - rotateX = 0; - rotateY = 0; + + yawRate = 0; + //rotateX = 0; + //rotateY = 0; } function keyboardPress() @@ -73,18 +76,43 @@ break; case 'i': - rotateY = 0.006; break; case 'j': - rotateX = -0.006; + yawRate = -0.1; break; case 'k': - rotateY = -0.006; break; case 'l': - rotateX = 0.006; + yawRate = 0.1; break; default: break; } } + +function move(){ + //if(speedX != 0) xPos += speedX; + //if(speedZ != 0) zPos -= speedZ; + console.log(xRool); + /* + if(speedX != 0) xPos += Math.sin(degToRad(yaw)) * speedX; + if(speedZ != 0) zPos -= Math.cos(degToRad(yaw)) * speedZ; + if(yawRate != 0) xRool += degToRad(yaw); + + if(speedX != 0 || speedZ != 0) yaw += yawRate; + //if(rotateY != 0) yRool -= degToRad(yaw); + */ + + + if(speedX != 0) xPos += Math.sin(degToRad(yaw)) * speedX; + if(speedZ != 0) zPos -= Math.cos(degToRad(yaw)) * speedZ; + if(yawRate != 0) xRool = degToRad(yaw); + + yaw += yawRate; +} + +function degToRad(degrees) { + return degrees * Math.PI / 180; +} + +