Mercurial > hg > Members > e085737 > sample
diff gloopon/resources/combat_plane.js @ 21:87850fc55445
save
author | <e085737> |
---|---|
date | Sun, 16 Jan 2011 00:57:53 +0900 |
parents | |
children | cda9d82e1fac |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gloopon/resources/combat_plane.js Sun Jan 16 00:57:53 2011 +0900 @@ -0,0 +1,443 @@ +createPlane = function(sgroot, w, h){ + var combat_plane = new sgroot.createSceneGraph3() + combat_plane.xyz[0] = 0 + combat_plane.xyz[1] = 0 + combat_plane.xyz[2] = 0 + position_xyz[0] = combat_plane.xyz[0] + position_xyz[1] = combat_plane.xyz[1] + position_xyz[2] = combat_plane.xyz[2] - 50 + aim_xyz[0] = position_xyz[0] + aim_xyz[1] = position_xyz[1] + aim_xyz[2] = position_xyz[2] + 1 + cameraAngle_xyz[0] = 0 + cameraAngle_xyz[1] = 0 + cameraAngle_xyz[2] = 0 + + + combat_plane.scale = 0.05 + combat_plane.set_move_collision(plane_move, no_collision_idle) + + + var main = new sgroot.createSceneGraph1("chest_center_B") + main.angle[0] = -90 + main.angle[1] = 180 + main.set_move_collision(main_move, no_collision_idle) + + + + var parts1 = new sgroot.createSceneGraph1("chest_center_B.001") + var parts2 = new sgroot.createSceneGraph1("chest_center_B.002") + var parts3 = new sgroot.createSceneGraph1("chest_center_B.003") + var parts4 = new sgroot.createSceneGraph1("chest_center_B.004") + var parts5 = new sgroot.createSceneGraph1("chest_center_B.005") + var parts6 = new sgroot.createSceneGraph1("chest_center_B.006") + var parts7 = new sgroot.createSceneGraph1("chest_center_B.007") + var parts8 = new sgroot.createSceneGraph1("chest_center_B.008") + var parts9 = new sgroot.createSceneGraph1("chest_center_B.009") + var parts10 = new sgroot.createSceneGraph1("chest_center_B.010") + var parts11 = new sgroot.createSceneGraph1("chest_center_B.011") + var parts12 = new sgroot.createSceneGraph1("chest_center_B.012") + var parts13 = new sgroot.createSceneGraph1("chest_center_B.013") + var parts14 = new sgroot.createSceneGraph1("chest_center_B.014") + var parts15 = new sgroot.createSceneGraph1("chest_center_B.015") + var parts16 = new sgroot.createSceneGraph1("chest_center_B.016") + var parts17 = new sgroot.createSceneGraph1("chest_center_B.017") + var parts18 = new sgroot.createSceneGraph1("chest_center_B.018") + var parts19 = new sgroot.createSceneGraph1("chest_center_B.019") + var parts20 = new sgroot.createSceneGraph1("chest_center_B.020") + var parts21 = new sgroot.createSceneGraph1("chest_center_B.021") + var parts22 = new sgroot.createSceneGraph1("chest_center_B.022") + var parts23 = new sgroot.createSceneGraph1("chest_center_B.023") + var parts24 = new sgroot.createSceneGraph1("chest_center_B.024") + var parts25 = new sgroot.createSceneGraph1("chest_center_B.025") + var parts26 = new sgroot.createSceneGraph1("chest_center_B.026") + var parts27 = new sgroot.createSceneGraph1("chest_center_B.027") + var parts28 = new sgroot.createSceneGraph1("chest_center_B.028") + var parts29 = new sgroot.createSceneGraph1("chest_center_B.029") + var parts30 = new sgroot.createSceneGraph1("chest_center_B.030") + var parts31 = new sgroot.createSceneGraph1("chest_center_B.031") + var parts32 = new sgroot.createSceneGraph1("chest_center_B.032") + var parts33 = new sgroot.createSceneGraph1("chest_center_B.033") + var parts34 = new sgroot.createSceneGraph1("chest_center_B.034") + var parts35 = new sgroot.createSceneGraph1("chest_center_B.035") + var parts36 = new sgroot.createSceneGraph1("chest_center_B.036") + var parts37 = new sgroot.createSceneGraph1("chest_center_B.037") + var parts38 = new sgroot.createSceneGraph1("chest_center_B.038") + var parts39 = new sgroot.createSceneGraph1("chest_center_B.039") + var parts40 = new sgroot.createSceneGraph1("chest_center_B.040") + var parts41 = new sgroot.createSceneGraph1("chest_center_B.041") + var parts42 = new sgroot.createSceneGraph1("chest_center_B.042") + var parts43 = new sgroot.createSceneGraph1("chest_center_B.043") + var parts44 = new sgroot.createSceneGraph1("chest_center_B.044") + var parts45 = new sgroot.createSceneGraph1("chest_center_B.045") + var parts46 = new sgroot.createSceneGraph1("chest_center_B.046") + var parts47 = new sgroot.createSceneGraph1("chest_center_B.047") + var parts48 = new sgroot.createSceneGraph1("chest_center_B.048") + var parts49 = new sgroot.createSceneGraph1("chest_center_B.049") + var parts50 = new sgroot.createSceneGraph1("chest_center_B.050") + var parts51 = new sgroot.createSceneGraph1("chest_center_B.051") + var parts52 = new sgroot.createSceneGraph1("chest_center_B.052") + var parts53 = new sgroot.createSceneGraph1("chest_center_B.053") + var parts54 = new sgroot.createSceneGraph1("chest_center_B.054") + var parts55 = new sgroot.createSceneGraph1("chest_center_B.055") + var parts56 = new sgroot.createSceneGraph1("chest_center_B.056") + var parts57 = new sgroot.createSceneGraph1("chest_center_B.057") + var parts58 = new sgroot.createSceneGraph1("chest_center_B.058") + var parts59 = new sgroot.createSceneGraph1("chest_center_B.059") + var parts60 = new sgroot.createSceneGraph1("chest_center_B.060") + var parts61 = new sgroot.createSceneGraph1("chest_center_B.061") + var parts62 = new sgroot.createSceneGraph1("chest_center_B.062") + var parts63 = new sgroot.createSceneGraph1("chest_center_B.063") + var parts64 = new sgroot.createSceneGraph1("chest_center_B.064") + var parts65 = new sgroot.createSceneGraph1("chest_center_B.065") + var parts66 = new sgroot.createSceneGraph1("chest_center_B.066") + var parts67 = new sgroot.createSceneGraph1("chest_center_B.067") + var parts68 = new sgroot.createSceneGraph1("chest_center_B.068") + var parts69 = new sgroot.createSceneGraph1("chest_center_B.069") + var parts70 = new sgroot.createSceneGraph1("chest_center_B.070") + var parts71 = new sgroot.createSceneGraph1("chest_center_B.071") + var parts72 = new sgroot.createSceneGraph1("chest_center_B.072") + var parts73 = new sgroot.createSceneGraph1("chest_center_B.073") + var parts74 = new sgroot.createSceneGraph1("chest_center_B.074") + + + combat_plane.addChild(main) + main.addChild(parts1) + main.addChild(parts2) + main.addChild(parts3) + main.addChild(parts4) + main.addChild(parts5) + main.addChild(parts6) + main.addChild(parts7) + main.addChild(parts8) + main.addChild(parts9) + main.addChild(parts10) + main.addChild(parts11) + main.addChild(parts12) + main.addChild(parts13) + main.addChild(parts14) + main.addChild(parts15) + main.addChild(parts16) + main.addChild(parts17) + main.addChild(parts18) + main.addChild(parts19) + main.addChild(parts20) + main.addChild(parts21) + main.addChild(parts22) + main.addChild(parts23) + main.addChild(parts24) + main.addChild(parts25) + main.addChild(parts26) + main.addChild(parts27) + main.addChild(parts28) + main.addChild(parts29) + main.addChild(parts30) + main.addChild(parts31) + main.addChild(parts32) + main.addChild(parts33) + main.addChild(parts34) + main.addChild(parts35) + main.addChild(parts36) + main.addChild(parts37) + main.addChild(parts38) + main.addChild(parts39) + main.addChild(parts40) + main.addChild(parts41) + main.addChild(parts42) + main.addChild(parts43) + main.addChild(parts44) + main.addChild(parts45) + main.addChild(parts46) + main.addChild(parts47) + main.addChild(parts48) + main.addChild(parts49) + main.addChild(parts50) + main.addChild(parts51) + main.addChild(parts52) + main.addChild(parts53) + main.addChild(parts54) + main.addChild(parts55) + main.addChild(parts56) + main.addChild(parts57) + main.addChild(parts58) + main.addChild(parts59) + main.addChild(parts60) + main.addChild(parts61) + main.addChild(parts62) + main.addChild(parts63) + main.addChild(parts64) + main.addChild(parts65) + main.addChild(parts66) + main.addChild(parts67) + main.addChild(parts68) + main.addChild(parts69) + main.addChild(parts70) + main.addChild(parts71) + main.addChild(parts72) + main.addChild(parts73) + main.addChild(parts74) + + + return combat_plane + +} + + +rotate_parts = function(node, sgroot, w, h){ + node.angle[0] += 1 +} + + + +plane_move = function(node, sgroot, w ,h){ + var move_eye = 1.0; + var move_walk = 1.0; + var PI = 3.14; + var pad = new sgroot.getController(); + var dx = position_xyz[0] - aim_xyz[0]; + var dy = position_xyz[1] - aim_xyz[1]; + var dz = position_xyz[2] - aim_xyz[2]; + var d = Math.sqrt(Math.pow(dx,2) + Math.pow(dy,2) + Math.pow(dz,2)); + + //if(node.xyz[0] >= 0 && node.xyz[2] >= 0){ + if(pad.left_move_isHold()){ + var radian = (((theta_xz+90)%360) / 360) * 2 * PI; + + if(!pad.zoom_in_isHold()){ + node.xyz[0] += move_walk * Math.cos(radian); + node.xyz[2] += move_walk * Math.sin(radian); + } + + aim_xyz[0] += move_walk * Math.cos(radian); + aim_xyz[2] += move_walk * Math.sin(radian); + position_xyz[0] += move_walk * Math.cos(radian); + position_xyz[2] += move_walk * Math.sin(radian); + } + + if(pad.right_move_isHold()){ + var radian = (((theta_xz+90)%360) / 360) * 2 * PI; + + if(!pad.zoom_in_isHold()){ + node.xyz[0] -= move_walk * Math.cos(radian); + node.xyz[2] -= move_walk * Math.sin(radian); + } + + aim_xyz[0] -= move_walk * Math.cos(radian); + aim_xyz[2] -= move_walk * Math.sin(radian); + position_xyz[0] -= move_walk * Math.cos(radian); + position_xyz[2] -= move_walk * Math.sin(radian); + } + + if(pad.front_move_isHold()){ + var radian = ((theta_xz%360) / 360) * 2 * PI; + + if(!pad.zoom_in_isHold()){ + node.xyz[0] += move_walk * Math.cos(radian); + node.xyz[2] += move_walk * Math.sin(radian); + } + + position_xyz[0] += move_walk * Math.cos(radian); + position_xyz[2] += move_walk * Math.sin(radian); + aim_xyz[0] += move_walk * Math.cos(radian); + aim_xyz[2] += move_walk * Math.sin(radian); + + move_length++; + } + + if(pad.back_move_isHold()){ + var radian = ((theta_xz%360) / 360) * 2 * PI; + + if(!pad.zoom_in_isHold()){ + node.xyz[0] -= move_walk * Math.cos(radian); + node.xyz[2] -= move_walk * Math.sin(radian); + } + + position_xyz[0] -= move_walk * Math.cos(radian); + position_xyz[2] -= move_walk * Math.sin(radian); + aim_xyz[0] -= move_walk * Math.cos(radian); + aim_xyz[2] -= move_walk * Math.sin(radian); + + move_length--; + } + //} + + if(pad.start_isHold()){ + var bullet_speed = 20; + var radian_xz = ((theta_xz%360)/360) * 2 * PI; + var radian_yz = ((cameraAngle_xyz[1]%90)/90) * (PI / 2); + var bullet = new sgroot.createSceneGraph1("yellow"); + bullet.xyz[0] = position_xyz[0] + Math.cos(radian_xz) * 200; + bullet.xyz[1] = position_xyz[1] + Math.sin(radian_yz) * 200; + bullet.xyz[2] = position_xyz[2] + Math.sin(radian_xz) * 200; + bullet.dx = Math.cos(radian_xz) * bullet_speed; + bullet.dy = Math.sin(radian_yz) * bullet_speed; + bullet.dz = Math.sin(radian_xz) * bullet_speed; + bullet.scale = 0.3; + bullet.set_move_collision(bullet_move, no_collision_idle); + } + + + if(pad.space_isHold()){ + node.xyz[1] -= 0.8; + position_xyz[1] -= 0.8; + aim_xyz[1] -= 0.8; + }else if(pad.space_isRelease() && node.xyz[1] < -5){ + node.xyz[1] += 0.4; + position_xyz[1] += 0.4; + aim_xyz[1] += 0.4; + } +} + + + +main_move = function(node, sgroot, w, h){ + var move_eye = 1.0; + var PI = Math.PI; + var pad = new sgroot.getController(); + var dx = node.parents.xyz[0] - position_xyz[0]; + var dy = node.parents.xyz[1] - position_xyz[1]; + var dz = node.parents.xyz[2] - position_xyz[2]; + //var d = Math.sqrt(Math.pow(dx,2) + Math.pow(dy,2) + Math.pow(dz,2)); + var d = 50 + var radian_xz = ((theta_xz%360) / 360) * 2 * PI; + var radian_yz = ((theta_yz%360) / 360) * 2 * PI; + var x_rate_xz = Math.sin(radian_xz); + var z_rate_xz = Math.cos(radian_xz); + var x_rate_yz = Math.cos(radian_yz); + var y_rate_yz = Math.cos(radian_yz); + var z_rate_yz = Math.sin(radian_yz); + + + + //node.angle[0] += 1.0; + //node.angle[1] += 1.0; + //node.angle[2] += 1.0; + if(pad.left_isHold()){ + //theta_xz = 90 + theta_xz += move_eye; + + var mv_x = d * Math.cos(radian_xz); + var mv_y = d * Math.sin(radian_yz); + var mv_z = d * Math.sin(radian_xz); + + + position_xyz[0] = node.parents.xyz[0] - mv_x; + position_xyz[1] = node.parents.xyz[1] - (mv_y*Math.sin(radian_xz)); + position_xyz[2] = node.parents.xyz[2] - (mv_z*Math.cos(radian_yz)); + aim_xyz[0] = position_xyz[0]; + aim_xyz[1] = position_xyz[1]; + aim_xyz[2] = position_xyz[2] + 1; + + //node.angle[0] -= move_eye * Math.sin(radian_yz); + node.angle[2] += move_eye; + cameraAngle_xyz[1] -= move_eye; + //cameraAngle_xyz[2] += move_eye * Math.sin(radian_yz); + angleRate_x[0] = x_rate_xz; + angleRate_x[2] = z_rate_xz; + /* + cameraAxis[0] = 0; + cameraAxis[1] = 1; + cameraAxis[0] = 0; + */ + } + + + if(pad.right_isHold()){ + theta_xz -= move_eye; + var mv_x = d * Math.cos(radian_xz); + var mv_y = d * Math.sin(radian_yz); + var mv_z = d * Math.sin(radian_xz); + + position_xyz[0] = node.parents.xyz[0] - mv_x; + position_xyz[1] = node.parents.xyz[1] - (mv_y*Math.sin(radian_xz)); + position_xyz[2] = node.parents.xyz[2] - (mv_z*Math.cos(radian_yz)); + aim_xyz[0] = position_xyz[0]; + aim_xyz[1] = position_xyz[1]; + aim_xyz[2] = position_xyz[2] + 1; + + //node.angle[0] += move_eye * Math.sin(radian_yz); + node.angle[2] -= move_eye; + cameraAngle_xyz[1] += move_eye; + //cameraAngle_xyz[2] -= move_eye * Math.sin(radian_yz); + //angleRate_xyz[0] = x_rate; + //angleRate_xyz[1] = y_rate; + //angleRate_xyz[2] = z_rate; + angleRate_x[0] = x_rate_xz; + angleRate_x[2] = z_rate_xz; + /* + cameraAxis[0] = 0; + cameraAxis[1] = 1; + cameraAxis[2] = 0; + */ + } + + + if(pad.up_isHold() && theta_yz > -90){ + theta_yz -= move_eye; + var mv_x = d * Math.cos(radian_xz); + var mv_y = d * Math.sin(radian_yz); + var mv_z = d * Math.cos(radian_yz); + + + position_xyz[0] = node.parents.xyz[0] - (mv_x*Math.cos(radian_yz)); + position_xyz[1] = node.parents.xyz[1] - mv_y; + position_xyz[2] = node.parents.xyz[2] - (mv_z*Math.sin(radian_xz)); + aim_xyz[0] = position_xyz[0]; + aim_xyz[1] = position_xyz[1]; + aim_xyz[2] = position_xyz[2] + 1; + + + node.angle[0] += move_eye * Math.sin(radian_xz); + node.angle[1] += move_eye * Math.cos(radian_xz); + //cameraAngle_xyz[1] -= move_eye; + cameraAngle_xyz[0] -= move_eye; + //angleRate_xyz[0] = x_rate + //angleRate_xyz[1] = y_rate + //angleRate_xyz[2] = z_rate + angleRate_y[1] = y_rate_yz + angleRate_y[2] = z_rate_yz + /* + cameraAxis[0] = 1; + cameraAxis[1] = 0; + cameraAxis[2] = 0; + */ + } + + if(pad.down_isHold() && theta_yz < 90){ + theta_yz += move_eye; + var mv_x = d * Math.cos(radian_xz); + var mv_y = d * Math.sin(radian_yz); + var mv_z = d * Math.cos(radian_yz); + + position_xyz[0] = node.parents.xyz[0] - (mv_x*Math.cos(radian_yz)); + position_xyz[1] = node.parents.xyz[1] - mv_y; + position_xyz[2] = node.parents.xyz[2] - (mv_z*Math.sin(radian_xz)); + aim_xyz[0] = position_xyz[0]; + aim_xyz[1] = position_xyz[1]; + aim_xyz[2] = position_xyz[2] + 1; + + + node.angle[0] -= move_eye * Math.sin(radian_xz); + node.angle[1] -= move_eye * Math.cos(radian_xz); + //cameraAngle_xyz[1] += move_eye; + cameraAngle_xyz[0] += move_eye; + //angleRate_xyz[0] = x_rate + //angleRate_xyz[1] = y_rate + //angleRate_xyz[2] = z_rate + angleRate_y[1] = y_rate_yz + angleRate_y[2] = z_rate_yz + /* + cameraAxis[0] = 1; + cameraAxis[1] = 0; + cameraAxis[2] = 0; + */ + } + +} + + + + + + +