- Timestamp:
- 2015-06-25 19:08:42 (6 years ago)
- Location:
- 2015/26/ohjaajat/HillbillyRun
- Files:
-
- 7 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
2015/26/ohjaajat/HillbillyRun/HillbillyRun/HillbillyRun/HillbillyRun/HillbillyRun.cs
r6386 r6390 176 176 177 177 # region Images 178 private Image[] groundImages = LoadImages("ground", "ground_forest", "ground "); //Näitä ei tosin kaikkia kenties jaksa tehdä erilaisiksi levelistä riippuen179 private Image[] groundTopImages = LoadImages("ground_top", "ground_top_forest", "ground_top ");178 private Image[] groundImages = LoadImages("ground", "ground_forest", "ground_volcano"); 179 private Image[] groundTopImages = LoadImages("ground_top", "ground_top_forest", "ground_top_volcano"); 180 180 private Image[] foregroundDecorations = LoadImages("viljaa", "grass", "grass"); 181 181 private Image[] blockImages = LoadImages("box2", "rock"); … … 196 196 private Image treeBranchImage = LoadImage("bigtreebranch"); 197 197 private Image forestBackgroundImage = LoadImage("forestbackground"); 198 private Image volcanoBackgroundImage = LoadImage("volcanobackground"); 198 199 private Image swingTrapImage = LoadImage("tukki"); 199 200 … … 201 202 private Image leverLeftImage = LoadImage("lever_left"); 202 203 private Image leverRightImage = LoadImage("lever_right"); 204 205 private Image lavaWallImage = LoadImage("lavawall"); 206 private Image spikeImage = LoadImage("spikes"); 207 private Image spikeLeftImage = LoadImage("spikeleft"); 203 208 204 209 private Animation crawl; … … 403 408 cameraTimer.Start(); 404 409 405 //Background 406 GameObject forestBackground = new GameObject(Level.Width, Level.Height); 407 forestBackground.Image = forestBackgroundImage; 408 forestBackground.TextureWrapSize = new Vector(5, 1); 409 Add(forestBackground, -3); 410 Layers[-3].RelativeTransition = new Vector(0.5, 1.0); 411 412 if (levelNumber == 1) 410 // Background trees. 411 if (levelNumber < 2) 412 { 413 GameObject forestBackground = new GameObject(Level.Width, Level.Height); 414 forestBackground.Image = forestBackgroundImage; 415 forestBackground.TextureWrapSize = new Vector(5, 1); 416 Add(forestBackground, -3); 417 Layers[-3].RelativeTransition = new Vector(0.5, 1.0); 418 } 419 420 // Background color. 421 if (levelNumber == 0) 422 { 423 Level.Background.CreateGradient(Color.Black, Color.SkyBlue); 424 } 425 else if (levelNumber == 1) 413 426 { 414 427 Level.Background.CreateGradient(Color.Black, Color.FromHexCode("495147")); 415 428 } 416 else 417 { 418 Level.Background.CreateGradient(Color.Black, Color.SkyBlue); 429 else if (levelNumber == 2) 430 { 431 Level.Background.Image = volcanoBackgroundImage; 432 Level.Background.FitToLevel(); 419 433 } 420 434 } … … 455 469 level.SetTileMethod(Color.FromHexCode("4C7F00"), CreateLevel); 456 470 471 level.SetTileMethod(Color.FromHexCode("FF00DC"), CreateSpike, spikeImage); 472 level.SetTileMethod(Color.FromHexCode("C600AC"), CreateSpike, spikeLeftImage); 473 457 474 level.Optimize(Color.Brown); //Color.Black //Tekee jännittäviä asioita wheatille, jos optimoidaan (tietysti). Jotenn. 458 459 475 level.Execute(TILE_SIZE, TILE_SIZE); 476 477 // Kolmanteen kenttään laavaseinä. 478 if (levelNumber == 2) 479 { 480 PhysicsObject lava = PhysicsObject.CreateStaticObject(300, Level.Height); 481 lava.Image = lavaWallImage; 482 lava.X = Camera.ScreenToWorld(new Vector(-Window.Width / 2.0, 0)).X; 483 //lava.Y = Camera.ScreenToWorld(new Vector(0, 0)).Y; 484 Add(lava); 485 486 var updateTimer = new Timer {Interval = 0.01}; 487 updateTimer.Timeout += delegate 488 { 489 lava.Left = Camera.X - Window.Width / 2.0; 490 //lava.Y = Camera.ScreenToWorld(new Vector(0, 0)).Y; 491 }; 492 updateTimer.Start(); 493 } 494 } 495 496 void CreateSpike(Vector position, double width, double height, Image img) 497 { 498 PhysicsObject spike = PhysicsObject.CreateStaticObject(width, height); 499 spike.Image = img; 500 spike.Position = position; 501 //spike.Tag = "burn"; 502 Add(spike); 460 503 } 461 504 … … 715 758 { 716 759 PlatformCharacter shroom = new PlatformCharacter(width, height * 2); 717 shroom.Position = position + new Vector(0, shroom.Height / 2);760 shroom.Position = position + new Vector(0, shroom.Height / 2); 718 761 shroom.Tag = "burn"; 719 762 shroom.Tag += "shroom"; … … 747 790 Timer.SingleShot(RandomGen.NextDouble(3, 5), delegate { shroom.Brain = attackBrain; }); 748 791 749 Timer.SingleShot(1.5, 750 delegate 792 Timer.SingleShot(1.5, 793 delegate 794 { 795 for (int i = 0; i < matoja; i++) 751 796 { 752 for (int i = 0; i < matoja; i++) 753 { 754 CreateWorm(shroom.Position + RandomGen.NextVector(- 200, 0, 200, 0), TILE_SIZE, TILE_SIZE); 755 shroom.Brain = brain; 756 } 757 }); 758 759 797 CreateWorm(shroom.Position + RandomGen.NextVector(-200, 0, 200, 0), TILE_SIZE, TILE_SIZE); 798 shroom.Brain = brain; 799 } 800 }); 801 802 760 803 }; 761 804 … … 772 815 matoja += RandomGen.NextInt(1, 5); 773 816 rahkeet--; 774 if (rahkeet<1)817 if (rahkeet < 1) 775 818 { 776 819 shroom.Destroy(); … … 778 821 } 779 822 }); 780 781 823 824 782 825 } 783 826 … … 998 1041 bool wheat = probability < 20; 999 1042 1000 if (wheat )1043 if (wheat && levelNumber < 2) 1001 1044 { 1002 1045 GameObject wheatBlock = new GameObject(width * 1.5, height * 2); … … 1132 1175 Vector maxPosition = new Vector(minX, maxY); 1133 1176 1134 cameraTarget = (minPosition + maxPosition) * 0.5; 1135 cameraTarget.X = Math.Max(cameraTargetX, minX); //Lellllll. 1136 1137 //cameraTarget.Y = Math.Max(cameraTarget.X, Level.Bottom + Window.Height/2.0); 1138 1139 cameraTargetX = Math.Max(cameraTargetX, minX); 1140 1141 cameraTarget.X = Math.Min(cameraTargetX, rightCamLimit); 1142 cameraTarget.Y = Math.Max(cameraTarget.Y, bottomCamLimit); 1143 1177 if (levelNumber < 2) 1178 { 1179 cameraTarget = (minPosition + maxPosition)*0.5; 1180 cameraTarget.X = Math.Max(cameraTargetX, minX); //Lellllll. 1181 1182 //cameraTarget.Y = Math.Max(cameraTarget.X, Level.Bottom + Window.Height/2.0); 1183 1184 cameraTargetX = Math.Max(cameraTargetX, minX); 1185 1186 cameraTarget.X = Math.Min(cameraTargetX, rightCamLimit); 1187 cameraTarget.Y = Math.Max(cameraTarget.Y, bottomCamLimit); 1188 } 1189 else if (levelNumber == 2) 1190 { 1191 cameraTarget.Y = ((minPosition + maxPosition) * 0.5).Y; 1192 cameraTarget.Y = Math.Max(cameraTarget.Y, bottomCamLimit); 1193 1194 // Pakotetaan kameraa eteenpäin. Jos kaikki pelaajat on näytön oikealla puolella, niin liikutetaan nopeammin. 1195 double cameraSpeed = players.All(p => Camera.WorldToScreen(p.Position).X > 0) ? 4.0 : 1.0; 1196 cameraTarget.X += cameraSpeed; 1197 } 1198 1199 // Pelaajien sijainnin rajaus ikkunaan. 1144 1200 double windowMax = Camera.ScreenToWorld(new Vector(Window.Width / 2.0, 0)).X; 1145 1201 double windowMin = Camera.ScreenToWorld(new Vector(-Window.Width / 2.0, 0)).X; -
2015/26/ohjaajat/HillbillyRun/HillbillyRun/HillbillyRun/HillbillyRunContent/HillbillyRunContent.contentproj
r6386 r6390 349 349 </Compile> 350 350 </ItemGroup> 351 <ItemGroup> 352 <Compile Include="prisoner.png"> 353 <Name>prisoner</Name> 354 <Importer>TextureImporter</Importer> 355 <Processor>TextureProcessor</Processor> 356 </Compile> 357 <Compile Include="spikeleft.png"> 358 <Name>spikeleft</Name> 359 <Importer>TextureImporter</Importer> 360 <Processor>TextureProcessor</Processor> 361 </Compile> 362 </ItemGroup> 363 <ItemGroup> 364 <Compile Include="ground_top_volcano.png"> 365 <Name>ground_top_volcano</Name> 366 <Importer>TextureImporter</Importer> 367 <Processor>TextureProcessor</Processor> 368 </Compile> 369 <Compile Include="ground_volcano.png"> 370 <Name>ground_volcano</Name> 371 <Importer>TextureImporter</Importer> 372 <Processor>TextureProcessor</Processor> 373 </Compile> 374 </ItemGroup> 375 <ItemGroup> 376 <Compile Include="volcanobackground.png"> 377 <Name>volcanobackground</Name> 378 <Importer>TextureImporter</Importer> 379 <Processor>TextureProcessor</Processor> 380 </Compile> 381 </ItemGroup> 382 <ItemGroup> 383 <Compile Include="lavawall.png"> 384 <Name>lavawall</Name> 385 <Importer>TextureImporter</Importer> 386 <Processor>TextureProcessor</Processor> 387 </Compile> 388 </ItemGroup> 351 389 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 352 390 <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Note: See TracChangeset
for help on using the changeset viewer.