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;
+        */
+	}
+
+}
+
+
+
+
+
+
+