- Timestamp:
- 2014-07-22 15:08:46 (9 years ago)
- Location:
- 2014/30/MikkoL/Gradiant
- Files:
-
- 12 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
2014/30/MikkoL/Gradiant/LM2/LM2/Gradiant.cs
r5522 r5553 18 18 this.Destroy(); 19 19 }; 20 IgnoresGravity = true; 20 21 } 21 22 } … … 26 27 : base(width, height) 27 28 { 28 29 IgnoresGravity = true; 29 30 } 30 31 } … … 41 42 { 42 43 health.LowerLimit += delegate { this.Destroy(); }; 44 IgnoresGravity = true; 43 45 } 44 46 } … … 54 56 { 55 57 health.LowerLimit += delegate { this.Destroy(); }; 58 IgnoresGravity = true; 56 59 } 57 60 } … … 68 71 69 72 public frontborder(double width, double height) 70 : base(width, height) { }73 : base(width, height) { IgnoresGravity = true; } 71 74 } 72 75 class backborder : PhysicsObject … … 74 77 75 78 public backborder(double width, double height) 76 : base(width, height) { } 79 : base(width, height) { IgnoresGravity = true; } 80 } 81 class bulletdes : PhysicsObject 82 { 83 public bulletdes(double width, double height) 84 : base(width, height) { IgnoresGravity = true; } 77 85 } 78 86 … … 89 97 Image player_ship_02 = LoadImage("player_ship_02"); 90 98 Image hitbox = LoadImage("hitbox"); 99 Image droid_image = LoadImage("droid"); 91 100 //Bullets 92 101 Image bullet_green_laser01 = LoadImage("bullet_green_laser01"); … … 125 134 //Explosion 126 135 private Animation explosion_anim; 136 private Animation droid_anim; 137 private Animation droid2_anim; 127 138 //GUI 128 139 Image title = LoadImage("title_screen"); 140 Image title_02 = LoadImage("title_screen_02"); 129 141 Image press_start_img = LoadImage("Press_Start"); 142 Image controls = LoadImage("controls"); 130 143 Image stage_1_clear = LoadImage("stage_1_clear"); 131 144 Image stage_1_start = LoadImage("stage_1_start"); … … 134 147 Image damage_up = LoadImage("damage_up"); 135 148 Image spread_up = LoadImage("spread_up"); 149 Image cursor_gui = LoadImage("cursor"); 136 150 137 151 Image aj = LoadImage("aj-weed"); … … 165 179 Timer wpn_timer = new Timer(); 166 180 181 GameObject control_gui; 182 GameObject press_start; 183 GameObject cursor; 167 184 bool s001 = false; 168 185 169 186 public override void Begin() 170 187 { 188 171 189 //Load SFX 172 190 hurtsfx.Play(); 173 //explosionsfx.Play();174 //hitsfx.Play();175 //shootsfx.Play();176 //powerupsfx.Play();177 //enemy_shootsfx.Play();178 191 179 192 //Load Anim 180 193 explosion_anim = LoadAnimation("explosionanim"); 194 droid_anim = LoadAnimation("droidanim"); 195 droid2_anim = LoadAnimation("droid2anim"); 196 181 197 MediaPlayer.Play("Starmap"); 182 198 MediaPlayer.IsRepeating = true; … … 185 201 186 202 Level.Size = new Vector(Screen.Width,Screen.Height); 203 SmoothTextures = false; 204 187 205 GameObject titlescreen = new GameObject(1280, 801); 188 206 titlescreen.Position = Screen.Center; 189 titlescreen.Image = title ;190 Add(titlescreen );191 192 GameObjectpress_start = new GameObject(215, 59);207 titlescreen.Image = title_02; 208 Add(titlescreen,-3); 209 210 press_start = new GameObject(215, 59); 193 211 press_start.Position = Screen.Center + new Vector(0, 90); 194 212 press_start.Image = press_start_img; 195 213 Add(press_start); 196 214 215 control_gui = new GameObject(345, 247); 216 control_gui.Position = Screen.Center + new Vector(66, -112); 217 control_gui.Image = controls; 218 Add(control_gui); 219 197 220 Timer start = new Timer(); 198 start.Interval = 0. 7;221 start.Interval = 0.06; 199 222 start.Timeout += delegate 200 223 { … … 210 233 211 234 } 235 void Select_ship() 236 { 237 ClearControls(); 238 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, null); 239 ControllerOne.Listen(Button.Back, ButtonState.Pressed, ConfirmExit, null); 240 241 control_gui.Destroy(); 242 press_start.Destroy(); 243 244 cursor = new GameObject(21, 19); 245 cursor.Image = cursor_gui; 246 cursor.Position = Screen.Center; 247 248 Add(cursor); 249 250 Timer cursor_blink = new Timer(); 251 cursor_blink.Interval = 0.33; 252 cursor_blink.Timeout += delegate 253 { 254 if (cursor.IsVisible) cursor.IsVisible = false; 255 else if (!cursor.IsVisible) cursor.IsVisible = true; 256 if (cursor.IsDestroyed) cursor_blink.Stop(); 257 }; 258 //cursor_blink.Start(); 259 } 212 260 213 261 void Start() … … 216 264 MediaPlayer.Stop(); 217 265 218 CreateLevel("level_ test");266 CreateLevel("level_01"); 219 267 220 268 GameObject stage_01_start = new GameObject(405, 39); … … 252 300 //Stage creation 253 301 void CreateLevel(string level) 254 { 302 { 303 Gravity = new Vector(1000, 0); 304 255 305 TileMap lvl = TileMap.FromLevelAsset(level); 256 306 lvl.SetTileMethod('x', border); … … 259 309 lvl.SetTileMethod('%', frontBorder); 260 310 lvl.SetTileMethod('&', backBorder); 311 lvl.SetTileMethod('#', bulletdes); 261 312 lvl.SetTileMethod('P', AddPlayer); 262 313 lvl.SetTileMethod('1', enemy_ship_1); … … 302 353 Add(bg2, -3); 303 354 304 //AddPlayer(Screen.Center, 0, 0);305 355 AddControls(); 306 356 AddHealthbar(); … … 308 358 Camera.Position = player.Position; 309 359 //Camera.ZoomFactor = 0.4; 310 //edgeBorders();360 //edgeBorders(); 311 361 } 312 362 //Tiles for level … … 370 420 AddCollisionHandler<PhysicsObject, player>(border, backBorderCollision); 371 421 //AddCollisionHandler<PhysicsObject, enemy>(border, backBorderCollisionEnemy); 422 Add(border); 423 } 424 void bulletdes(Vector position, double width, double height) 425 { 426 bulletdes border = new bulletdes(width, height); 427 border.Position = position; 428 border.Color = Color.Red; 429 border.Restitution = 0; 430 border.Tag = "border"; 431 border.IgnoresCollisionResponse = true; 432 border.IgnoresPhysicsLogics = true; 372 433 Add(border); 373 434 } … … 662 723 droid drd = new droid(13,13); 663 724 drd.Shape = Shape.Circle; 725 drd.IgnoresCollisionResponse = true; 726 drd.CollisionIgnoreGroup = 2; 727 drd.Animation = droid_anim; 728 drd.Animation.Start(); 664 729 if (drd_type == 1) { drd.Position = player.Position + pos; 665 730 setdrd_shoot_timer(drd); … … 669 734 move.Timeout += delegate 670 735 { 671 if (drd.Position != player.Position + pos) drd.Position = player.Position + pos; 736 if (drd.Position != player.Position + pos) 737 { 738 drd.Position = player.Position + pos; 739 } 672 740 }; 673 741 move.Start(); 674 742 }; 675 743 //else if 744 676 745 Add(drd); 677 746 } … … 682 751 drdshoot.Timeout += delegate 683 752 { 684 if (ControllerOne.GetButtonState(Button.B) == ButtonState.Down) 685 { 686 droidprojectile(drd.Position, new Vector(RandomGen.NextDouble(500, 700), RandomGen.NextDouble(-100, 100)), new Vector(20, 12)); 687 droidprojectile(drd.Position, new Vector(RandomGen.NextDouble(500, 700), RandomGen.NextDouble(-100, 100)), new Vector(20, 12)); 688 droidprojectile(drd.Position, new Vector(RandomGen.NextDouble(500, 700), RandomGen.NextDouble(-100, 100)), new Vector(20, 12)); 689 droidprojectile(drd.Position, new Vector(RandomGen.NextDouble(500, 700), RandomGen.NextDouble(-100, 100)), new Vector(20, 12)); 690 }; 753 if (drd_type == 1) 754 { 755 droidtype1_shoot(drd); 756 } 691 757 }; 692 758 … … 695 761 void droidtype1_shoot(droid drd) 696 762 { 697 763 if (ControllerOne.GetButtonState(Button.B) == ButtonState.Down) 764 { 765 droidprojectile(drd.Position, new Vector(-400, RandomGen.NextDouble(100,150)), new Vector(24, 13)); 766 droidprojectile(drd.Position, new Vector(-400, RandomGen.NextDouble(-150, -100)), new Vector(24, 13)); 767 }; 698 768 } 699 769 void droidprojectile(Vector pos, Vector vel, Vector size) … … 701 771 bullet projectile = new bullet(size.X, size.Y/2); 702 772 projectile.Shape = Shape.Diamond; 703 projectile.IgnoresGravity = true;773 projectile.IgnoresGravity = false; 704 774 projectile.Position = pos; 705 775 projectile.Tag = "player_bullet"; 706 776 projectile.Image = bullet_droid; 707 777 projectile.damage = drd_damageRatio.Value; 778 projectile.LinearDamping = 0.99; 708 779 709 780 projectile.IgnoresCollisionResponse = true; 710 781 711 782 projectile.CollisionIgnoreGroup = 2; 712 projectile.MaximumLifetime = TimeSpan.FromSeconds( 1.57);783 projectile.MaximumLifetime = TimeSpan.FromSeconds(3); 713 784 714 785 AddCollisionHandler<bullet, frontborder>(projectile, destroy); … … 718 789 projectile.Hit(vel); 719 790 projectile.Angle = projectile.Velocity.Angle; 791 792 Timer angle = new Timer(); 793 angle.Interval = 0.05; 794 angle.Timeout += delegate 795 { 796 projectile.Angle = projectile.Velocity.Angle; 797 if (projectile.IsDestroyed) { angle.Stop(); }; 798 }; 799 angle.Start(); 720 800 } 721 801 … … 1153 1233 enemy_bullet.Position = pos; 1154 1234 enemy_bullet.IgnoresCollisionResponse = true; 1235 enemy_bullet.IgnoresGravity = true; 1155 1236 enemy_bullet.CollisionIgnoreGroup = 2; 1156 1237 enemy_bullet.damage = 5; … … 1161 1242 Add(enemy_bullet, 0); 1162 1243 AddCollisionHandler<bullet, player>(enemy_bullet, damagePlayerBullet); 1244 AddCollisionHandler<bullet, bulletdes>(enemy_bullet, destroy); 1163 1245 } 1164 1246 void enemy_shoot_2(Vector pos, Vector dir) … … 1168 1250 enemy_bullet.Position = pos; 1169 1251 enemy_bullet.IgnoresCollisionResponse = true; 1252 enemy_bullet.IgnoresGravity = true; 1170 1253 enemy_bullet.CollisionIgnoreGroup = 2; 1171 1254 enemy_bullet.damage = 5; … … 1176 1259 enemy_bullet.Hit(dir/9); 1177 1260 AddCollisionHandler<bullet, player>(enemy_bullet, damagePlayerBullet); 1261 AddCollisionHandler<bullet, bulletdes>(enemy_bullet, destroy); 1178 1262 1179 1263 Timer wait = new Timer(); … … 1191 1275 enemy_bullet.Position = pos; 1192 1276 enemy_bullet.IgnoresCollisionResponse = true; 1277 enemy_bullet.IgnoresGravity = true; 1193 1278 enemy_bullet.CollisionIgnoreGroup = 2; 1194 1279 enemy_bullet.damage = 5; … … 1199 1284 enemy_bullet.Hit(dir); 1200 1285 AddCollisionHandler<bullet, player>(enemy_bullet, damagePlayerBullet); 1286 AddCollisionHandler<bullet, bulletdes>(enemy_bullet, destroy); 1201 1287 1202 1288 } … … 1345 1431 enemy_bullet.Position = pos; 1346 1432 enemy_bullet.IgnoresCollisionResponse = true; 1433 enemy_bullet.IgnoresGravity = true; 1347 1434 enemy_bullet.CollisionIgnoreGroup = 2; 1348 1435 enemy_bullet.damage = 5; … … 1353 1440 Add(enemy_bullet, 0); 1354 1441 AddCollisionHandler<bullet, player>(enemy_bullet, damagePlayerBullet); 1442 AddCollisionHandler<bullet, bulletdes>(enemy_bullet, destroy); 1355 1443 } 1356 1444 void boss_shoot_2(Vector pos, Vector dir) … … 1360 1448 enemy_bullet.Position = pos; 1361 1449 enemy_bullet.IgnoresCollisionResponse = true; 1450 enemy_bullet.IgnoresGravity = true; 1362 1451 enemy_bullet.CollisionIgnoreGroup = 2; 1363 1452 enemy_bullet.damage = 5; … … 1368 1457 enemy_bullet.Hit(dir / 9); 1369 1458 AddCollisionHandler<bullet, player>(enemy_bullet, damagePlayerBullet); 1459 AddCollisionHandler<bullet, bulletdes>(enemy_bullet, destroy); 1370 1460 1371 1461 Timer wait = new Timer(); … … 1383 1473 enemy_bullet.Position = pos; 1384 1474 enemy_bullet.IgnoresCollisionResponse = true; 1475 enemy_bullet.IgnoresGravity = true; 1385 1476 enemy_bullet.CollisionIgnoreGroup = 2; 1386 1477 enemy_bullet.damage = 5; … … 1391 1482 enemy_bullet.Hit(dir); 1392 1483 AddCollisionHandler<bullet, player>(enemy_bullet, damagePlayerBullet); 1484 AddCollisionHandler<bullet, bulletdes>(enemy_bullet, destroy); 1393 1485 1394 1486 } … … 1398 1490 void powerup(Vector pos) 1399 1491 { 1400 int a = RandomGen.NextInt(1, 11);1492 int a = RandomGen.NextInt(1, 9); 1401 1493 if (a == 1) 1402 1494 { … … 1408 1500 int type = RandomGen.NextInt(1, 12); 1409 1501 1410 PhysicsObject powerup = new PhysicsObject(1 3, 13);1502 PhysicsObject powerup = new PhysicsObject(15, 15); 1411 1503 powerup.Position = pos; 1412 1504 powerup.Tag = "powerup"; 1413 1505 powerup.IgnoresCollisionResponse = true; 1506 powerup.IgnoresGravity = true; 1414 1507 powerup.CollisionIgnoreGroup = 4; 1415 1508 powerup.MaximumLifetime = TimeSpan.FromSeconds(5); -
2014/30/MikkoL/Gradiant/LM2/LM2Content/GradiantContent.contentproj
r5522 r5553 404 404 </Compile> 405 405 </ItemGroup> 406 <ItemGroup> 407 <Compile Include="droidanim.anim"> 408 <Name>droidanim</Name> 409 <Importer>AnimationImporter</Importer> 410 <Processor>AnimationContentProcessor</Processor> 411 </Compile> 412 </ItemGroup> 413 <ItemGroup> 414 <Compile Include="droid2anim.anim"> 415 <Name>droid2anim</Name> 416 <Importer>AnimationImporter</Importer> 417 <Processor>AnimationContentProcessor</Processor> 418 </Compile> 419 </ItemGroup> 420 <ItemGroup> 421 <Compile Include="controls.png"> 422 <Name>controls</Name> 423 <Importer>TextureImporter</Importer> 424 <Processor>TextureProcessor</Processor> 425 </Compile> 426 <Compile Include="title_screen_02.png"> 427 <Name>title_screen_02</Name> 428 <Importer>TextureImporter</Importer> 429 <Processor>TextureProcessor</Processor> 430 </Compile> 431 </ItemGroup> 432 <ItemGroup> 433 <Compile Include="cursor.png"> 434 <Name>cursor</Name> 435 <Importer>TextureImporter</Importer> 436 <Processor>TextureProcessor</Processor> 437 </Compile> 438 </ItemGroup> 406 439 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 407 440 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
2014/30/MikkoL/Gradiant/LM2/LM2Content/level_test.txt
r5522 r5553 1 %2 %3 %4 %5 %6 reuna %7 %8 %9 %10 %11 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&% 12 &xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx% 13 &xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx% 14 &yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy% 15 & % 16 & % 17 & % 18 & % 19 & % 20 & % 21 & % 22 & % 23 & P % 24 & % 25 & % 26 & % 27 & % 28 & % 29 & % 30 & % 31 & % 32 &zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz% 33 &xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx% 34 &xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx% 35 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&% 36 %37 %38 %39 %40 %41 reuna %42 %43 %44 %45 %1 % 2 % 3 % 4 % 5 % 6 reuna % 7 % 8 % 9 #%# 10 #%# 11 #######################################%# 12 #&xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%# 13 #&xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%# 14 #&yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy%# 15 #& %# 16 #& %# 17 #& %# 18 #& %# 19 #& %# 20 #& %# 21 #& %# 22 #& %# 23 #& P %# G 24 #& %# 25 #& %# 26 #& %# 27 #& %# 28 #& %# 29 #& %# 30 #& %# 31 #& %# 32 #&zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz%# 33 #&xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%# 34 #&xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%# 35 #######################################%# 36 #%# 37 #%# 38 % 39 % 40 % 41 reuna % 42 % 43 % 44 % 45 %
Note: See TracChangeset
for help on using the changeset viewer.