Changeset 5867 for 2015/23/OskuL/FysiikkaPeli2
- Timestamp:
- 2015-06-04 10:11:41 (8 years ago)
- Location:
- 2015/23/OskuL/FysiikkaPeli2/FysiikkaPeli2
- Files:
-
- 3 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
2015/23/OskuL/FysiikkaPeli2/FysiikkaPeli2/FysiikkaPeli2/FysiikkaPeli2.cs
r5863 r5867 11 11 12 12 PhysicsObject pelaaja1, pelaaja2; 13 13 DoubleMeter elamaLaskuri; 14 14 public override void Begin() 15 15 { … … 17 17 LuoKentta(); 18 18 LuoOhjaimet(); 19 Camera.ZoomToAllObjects(); 19 //Camera.Position = pelaaja1.Position + new Vector(720, 0); 20 Camera.Follow(pelaaja1, pelaaja2); 21 Camera.FollowXMargin = 1000; 22 Camera.FollowYMargin = 100; 23 Camera.StayInLevel = true; 24 20 25 26 21 27 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 22 28 } … … 29 35 ruudut.SetTileMethod(Color.Black, LuoAsteroidi); 30 36 ruudut.SetTileMethod(Color.Red, LuoReuna); 37 //Level.Background.CreateStars(); 31 38 39 32 40 ruudut.Execute(20, 20); 41 42 //GameObject tausta = new GameObject(LoadImage("Earth")); 43 44 //Add(tausta, -3); 45 Image taustakuva = LoadImage("earth"); 46 GameObject taustaPilvet = new GameObject(Screen.Width * 1.5, Screen.Height * 1.5 ); 47 taustaPilvet.Image = taustakuva; 48 Add(taustaPilvet, -3); 49 Layers[-3].RelativeTransition = new Vector(0.5, 0.5); 50 51 52 53 //Level.Background.Scale = 2.0; 54 //Level.Size = Level.Size * 2; 55 //Level.Background. 56 } 57 58 void LuoElamaLaskuri() 59 { 60 elamaLaskuri = new DoubleMeter(10); 61 elamaLaskuri.MaxValue = 10; 62 elamaLaskuri.LowerLimit += ElamaLoppui; 63 64 ProgressBar elamaPalkki = new ProgressBar(150, 20); 65 elamaPalkki.X = Screen.Left + 150; 66 elamaPalkki.Y = Screen.Top - 20; 67 elamaPalkki.BindTo(elamaLaskuri); 68 Add(elamaPalkki); 69 } 70 71 void ElamaLoppui() 72 { 73 MessageDisplay.Add("Hävisit, paremmin ensikerralla"); 33 74 } 34 75 private void LuoOhjaimet() 35 76 { 36 77 Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, "Liikutetaan pelaajaa", 1, 1); 78 Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, "käännä oikealle", 1, 2); 79 Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, "käännä vasemmalle", 1, 3); 80 Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, "jarru taaksepäin", 1, 4); 37 81 82 Keyboard.Listen(Key.W, ButtonState.Down, LiikutaPelaajaa, "Liikutetaan pelaajaa", 2, 1); 83 Keyboard.Listen(Key.D, ButtonState.Down, LiikutaPelaajaa, "käännä oikealle", 2, 2); 84 Keyboard.Listen(Key.A, ButtonState.Down, LiikutaPelaajaa, "käännä vasemmalle", 2, 3); 85 Keyboard.Listen(Key.S, ButtonState.Down, LiikutaPelaajaa, "jarru taaksepäin", 2, 4); 38 86 } 39 87 private void LiikutaPelaajaa(int pelaajaNro, int liikkeenTyyppi) … … 45 93 { 46 94 case 1: 47 pelaaja1.Push(Vector.FromLengthAndAngle( 100.0, pelaaja1.Angle));95 pelaaja1.Push(Vector.FromLengthAndAngle(250.0, pelaaja1.Angle));//kaasu eteen 48 96 break; 49 97 case 2: 98 pelaaja1.Angle += Angle.FromDegrees(-1.5);//oikealle=myötäpäivään 50 99 break; 51 100 case 3: 101 pelaaja1.Angle += Angle.FromDegrees(1.5);//vasemmalle=vastapäivään 52 102 break; 53 103 case 4: 104 pelaaja1.Push(-Vector.FromLengthAndAngle(250.0, pelaaja1.Angle)); 105 break; 54 106 } 55 107 56 108 break; 57 109 case 2: 110 switch (liikkeenTyyppi) 111 { 112 case 1: 113 pelaaja2.Push(Vector.FromLengthAndAngle(250.0, pelaaja2.Angle));//kaasu eteen 114 break; 115 case 2: 116 pelaaja2.Angle += Angle.FromDegrees(-2.0);//oikealle=myötäpäivään 117 break; 118 case 3: 119 pelaaja2.Angle += Angle.FromDegrees(2.0);//vasemmalle=vastapäivään 120 break; 121 case 4: 122 pelaaja2.Push(-Vector.FromLengthAndAngle(250.0, pelaaja2.Angle)); 123 break; 124 } 58 125 break; 59 126 } … … 64 131 PhysicsObject asteroidi = new PhysicsObject(LoadImage("ASTEROIDI")); 65 132 asteroidi.Position = paikka; 133 asteroidi.Tag = "ASTEROIDI"; 66 134 Add(asteroidi); 67 135 } … … 70 138 pelaaja1 = new PhysicsObject(LoadImage("alus")); 71 139 pelaaja1.Position = paikka; 140 pelaaja1.AngularDamping = 0.9; 72 141 Add(pelaaja1); 142 pelaaja1.LinearDamping = 0.98; 143 AddCollisionHandler(pelaaja1, "ASTEROIDI", PelaajaOsuu); 73 144 } 74 145 private void LuoPelaaja2(Vector paikka, double leveys, double korkeus) … … 76 147 pelaaja2 = new PhysicsObject(LoadImage("alus")); 77 148 pelaaja2.Position = paikka; 149 pelaaja2.AngularDamping = 0.9; 78 150 Add(pelaaja2); 151 pelaaja2.LinearDamping = 0.98; 152 AddCollisionHandler(pelaaja2, "ASTEROIDI", PelaajaOsuu); 79 153 } 80 154 private void LuoReuna(Vector paikka, double leveys, double korkeus) … … 83 157 reuna.Position = paikka; 84 158 Add(reuna); 159 reuna.Color = Color.Transparent; 85 160 } 86 161 private void AloitaPeli() … … 88 163 89 164 } 165 166 void PelaajaOsuu(PhysicsObject pelaaja, PhysicsObject kohde) 167 { 168 if (elamaLaskuri != null) 169 { 170 elamaLaskuri.Value -= 1; 171 } 172 kohde.Destroy(); 173 } 174 175 90 176 } -
2015/23/OskuL/FysiikkaPeli2/FysiikkaPeli2/FysiikkaPeli2/FysiikkaPeli2.csproj
r5863 r5867 112 112 <ItemGroup> 113 113 <Compile Include="Ohjelma.cs" /> 114 <Compile Include="FysiikkaPeli2.cs" />115 114 <Compile Include="Properties\AssemblyInfo.cs" /> 115 <Compile Include="space race.cs" /> 116 116 </ItemGroup> 117 117 <ItemGroup> -
2015/23/OskuL/FysiikkaPeli2/FysiikkaPeli2/FysiikkaPeli2Content/FysiikkaPeli2Content.contentproj
r5863 r5867 64 64 </Compile> 65 65 </ItemGroup> 66 <ItemGroup> 67 <Compile Include="earth.png"> 68 <Name>earth</Name> 69 <Importer>TextureImporter</Importer> 70 <Processor>TextureProcessor</Processor> 71 </Compile> 72 </ItemGroup> 73 <ItemGroup> 74 <Compile Include="space.jpg"> 75 <Name>space</Name> 76 <Importer>TextureImporter</Importer> 77 <Processor>TextureProcessor</Processor> 78 </Compile> 79 </ItemGroup> 66 80 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 67 81 <!-- 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.