Changeset 4296
- Timestamp:
- 2013-06-28 10:56:39 (10 years ago)
- Location:
- 2013/26/RoopeK/Hypopolis/Hypopolis
- Files:
-
- 11 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
2013/26/RoopeK/Hypopolis/Hypopolis/Hypopolis/Hypopolis.cs
r4256 r4296 9 9 public class Hypopolis : PhysicsGame 10 10 { 11 11 12 Image pelihahmo = LoadImage("Pelihahmo2"); 12 13 13 14 Image taustakuva = LoadImage("Taustakuva"); 14 15 Image taustakuvareuna = LoadImage("TaustakuvaReuna"); 16 15 17 Image mustaruutu = LoadImage("Mustakuva"); 18 16 19 Image rakennus1 = LoadImage("Rakennus1"); 17 20 Image rakennus2 = LoadImage("Rakennus2"); 18 21 22 List<Label> valikonKohdat; 23 24 private Animation pelaaja_hyppy; 25 private Animation pelaaja_paikka; 26 27 SoundEffect hyppyAani = LoadSoundEffect("Jump"); 28 19 29 PlatformCharacter2 pelaaja; 20 30 31 ExplosionSystem rajahdys; 32 int pMaxMaara = 200; 33 21 34 public override void Begin() 22 35 { 23 36 37 // Utility 38 SetWindowSize(1024, 768, false); 39 Camera.Zoom(0.75); 40 Ohjaimet(); 41 24 42 // Aloitus 43 Surface Mustaruutu = new Surface(10000, 10000); 44 Mustaruutu.Image = mustaruutu; 45 Add(Mustaruutu); 46 Timer.SingleShot(2.0, Aloitus); 47 48 // Efekti 49 rajahdys = new ExplosionSystem(LoadImage("rajahdys"), pMaxMaara); 50 rajahdys.MinLifetime = 0.3; 51 rajahdys.MaxLifetime = 0.8; 52 rajahdys.MinScale = 30.0; 53 rajahdys.MaxScale = 70.0; 54 rajahdys.MinVelocity = 10.0; 55 rajahdys.MaxVelocity = 20.0; 56 Add(rajahdys); 57 58 // Animaatio 59 pelaaja_hyppy = LoadAnimation("Hyppy"); 60 pelaaja_paikka = LoadAnimation("pelaaja"); 61 62 } 63 64 void Aloitus() 65 { 66 67 // Musiikki 68 MediaPlayer.Play("HypopolisTheme"); 69 70 // Teksti 71 LuoSatunnainenRakennusVasemmalta2(); 72 Label tekstikentta = new Label(200, 200, "Aloitus1"); 73 tekstikentta.X = 0; 74 tekstikentta.Y = 100; 75 tekstikentta.TextColor = Color.Black; 76 tekstikentta.Text = "HYPOPOLIS_"; 77 Add(tekstikentta); 78 Timer.SingleShot(12.0, Phase1); 79 80 } 81 82 void Phase1() 83 { 84 85 Valikko(); 86 87 } 88 89 void Valikko() 90 { 91 92 ClearAll(); 93 94 Surface Mustaruutu = new Surface(10000, 10000); 95 Mustaruutu.Image = mustaruutu; 96 Add(Mustaruutu, -3); 97 98 Mouse.IsCursorVisible = true; 99 100 Laskuri(LuoSatunnainenRakennusAlhaalta3); 101 Laskuri(LuoSatunnainenRakennusAlhaalta4); 102 Laskuri(LuoSatunnainenRakennusAlhaalta5); 103 Laskuri(LuoSatunnainenRakennusVasemmalta4); 104 105 Label tekstikentta = new Label(400, 400, "Aloitus1"); 106 tekstikentta.X = -350; 107 tekstikentta.Y = 200; 108 tekstikentta.TextColor = Color.Orange; 109 tekstikentta.Text = "HYPOPOLIS_"; 110 Add(tekstikentta); 111 112 valikonKohdat = new List<Label>(); 113 114 Label kohta1 = new Label("START"); 115 kohta1.Position = new Vector(-350, 100); 116 kohta1.TextColor = Color.White; 117 valikonKohdat.Add(kohta1); 118 119 Label kohta2 = new Label("TOPSCORE"); 120 kohta2.Position = new Vector(-326, 50); 121 kohta2.TextColor = Color.White; 122 valikonKohdat.Add(kohta2); 123 124 Label kohta3 = new Label("EXIT"); 125 kohta3.Position = new Vector(-358, 0); 126 kohta3.TextColor = Color.White; 127 valikonKohdat.Add(kohta3); 128 129 foreach (Label valikonKohta in valikonKohdat) 130 { 131 Add(valikonKohta); 132 } 133 134 135 Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, START, null); 136 Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, TOPSCORE, null); 137 Mouse.ListenOn(kohta3, MouseButton.Left, ButtonState.Pressed, ConfirmExit, null); 138 Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 139 } 140 141 void ValikossaLiikkuminen(AnalogState hiirenTila) 142 { 143 foreach (Label kohta in valikonKohdat) 144 { 145 if (Mouse.IsCursorOn(kohta)) 146 { 147 kohta.TextColor = Color.SlateGray; 148 } 149 else 150 { 151 kohta.TextColor = Color.White; 152 } 153 154 } 155 } 156 157 void START() 158 { 159 160 MediaPlayer.Stop(); 161 ClearAll(); 162 Pelaaja(); 163 Taso(); 164 Ohjaimet(); 165 Mouse.IsCursorVisible = false; 166 167 // Luonti 25 168 Laskuri(LuoSatunnainenRakennusVasemmalta1); 26 169 Laskuri(LuoSatunnainenRakennusVasemmalta2); … … 33 176 Laskuri(LuoSatunnainenRakennusAlhaalta5); 34 177 35 Taso(); 36 Pelaaja(); 37 Ohjaimet(); 38 39 // Musiikki 40 MediaPlayer.Play("HypopolisTheme"); 41 178 } 179 180 void TOPSCORE() 181 { 42 182 } 43 183 44 184 void Laskuri(Action tapahtuma) 45 185 { 186 46 187 Timer ajastin = new Timer(); 47 ajastin.Interval = RandomGen.NextDouble(3, 9);188 ajastin.Interval = RandomGen.SelectOne(3, 6, 9); 48 189 ajastin.Timeout += tapahtuma; 49 // ajastin.Timeout += LuoSatunnainenRakennusVasemmalta1;50 // ajastin.Timeout += LuoSatunnainenRakennusVasemmalta2;51 // ajastin.Timeout += LuoSatunnainenRakennusVasemmalta3;52 190 ajastin.Start(); 53 191 54 55 192 } 56 193 … … 64 201 void Hyppy(PlatformCharacter2 pelaaja) 65 202 { 66 67 pelaaja.Jump(2000); 68 69 } 203 204 if (pelaaja.Platform != null) 205 { 206 207 pelaaja.Jump(1500); 208 rajahdys.AddEffect(pelaaja.Position.X, pelaaja.Position.Y, pMaxMaara); 209 if (hyppyAani.IsPlaying == false) 210 { 211 hyppyAani.Play(); 212 } 213 } 214 } 215 70 216 71 217 void Pelaaja() … … 75 221 pelaaja.Shape = Shape.Rectangle; 76 222 pelaaja.Color = Color.Black; 223 pelaaja.AnimIdle = new Animation(pelaaja_paikka); 224 pelaaja.AnimFall = new Animation(pelaaja_paikka); 225 pelaaja.AnimJump = new Animation(pelaaja_hyppy); 226 pelaaja.AnimIdle.FPS = 5; 77 227 pelaaja.X = 0; 78 228 pelaaja.Y = Level.Bottom + 100.0; … … 80 230 pelaaja.Restitution = 0.0; 81 231 pelaaja.Image = pelihahmo; 232 pelaaja.MaxVelocity = 2500; 233 pelaaja.Acceleration = 2500; 82 234 Gravity = new Vector(0, -1500); 83 Add(pelaaja); 84 85 } 235 Add(pelaaja, -1); 236 237 } 238 86 239 87 240 void Ohjaimet() … … 91 244 Keyboard.Listen(Key.Left, ButtonState.Down, Kavele, "Vasen", pelaaja, Direction.Left); 92 245 Keyboard.Listen(Key.Right, ButtonState.Down, Kavele, "Oikea", pelaaja, Direction.Right); 93 Keyboard.Listen(Key.Up, ButtonState. Down, Hyppy, "Ylös", pelaaja);246 Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppy, "Ylös", pelaaja); 94 247 95 248 // Poistuminen … … 116 269 oikeaReuna.Color = Color.White; 117 270 oikeaReuna.Image = taustakuvareuna; 118 Add(oikeaReuna, 2);271 Add(oikeaReuna, -2); 119 272 120 273 Surface yläReuna = new Surface(1400, 100); … … 133 286 Add(alaReuna); 134 287 288 Level.AmbientLight = 0.8; 135 289 Level.Background.Image = taustakuva; 136 290 //Level.BackgroundColor = Color.Black; … … 255 409 olio.Y = y; 256 410 olio.X = x; 257 olio.Move(new Vector( 150, 0));411 olio.Move(new Vector(250, 0)); 258 412 olio.MakeStatic(); 259 olio.Image = rakennus2; 413 olio.Tag = "vasenSeinä"; 414 olio.Image = rakennus1; 415 olio.CollisionIgnoreGroup = 1; 416 olio.IgnoresCollisionResponse = false; 260 417 Add(olio); 261 418 … … 270 427 olio2.Y = y; 271 428 olio2.X = x; 272 olio2.Move(new Vector(0, 150));429 olio2.Move(new Vector(0, 250)); 273 430 olio2.MakeStatic(); 274 olio2.Image = rakennus1; 431 olio2.Tag = "alaSeinä"; 432 olio2.CollisionIgnoreGroup = 1; 433 olio2.Image = rakennus2; 434 olio2.IgnoresCollisionResponse = false; 275 435 Add(olio2); 276 436 277 437 } 278 279 void MustaRuutu()280 {281 282 Label tekstikentta = new Label(2500, 2500, "Aloitus");283 tekstikentta.X = 0;284 tekstikentta.Y = 0;285 tekstikentta.TextColor = Color.White;286 tekstikentta.Text = "Club Afterlife Presents_";287 Add(tekstikentta);288 Timer ajastin = new Timer();289 ajastin.Interval = 5;290 ajastin.Timeout += Aloitus;291 ajastin.Start(1);292 293 }294 295 void Aloitus()296 {297 298 MessageDisplay.Clear();299 Timer ajastin = new Timer();300 ajastin.Interval = 2;301 ajastin.Timeout += Aloitus1;302 ajastin.Start(1);303 304 }305 306 void Aloitus1()307 {308 // ...309 }310 438 } -
2013/26/RoopeK/Hypopolis/Hypopolis/HypopolisContent/HypopolisContent.contentproj
r4256 r4296 94 94 </Compile> 95 95 </ItemGroup> 96 <ItemGroup> 97 <Compile Include="pelaaja.anim"> 98 <Name>pelaaja</Name> 99 <Importer>AnimationImporter</Importer> 100 <Processor>AnimationContentProcessor</Processor> 101 </Compile> 102 </ItemGroup> 103 <ItemGroup> 104 <Compile Include="Jump.wav"> 105 <Name>Jump</Name> 106 <Importer>WavImporter</Importer> 107 <Processor>SoundEffectProcessor</Processor> 108 </Compile> 109 </ItemGroup> 110 <ItemGroup> 111 <Compile Include="Hyppy.anim"> 112 <Name>Hyppy</Name> 113 <Importer>AnimationImporter</Importer> 114 <Processor>AnimationContentProcessor</Processor> 115 </Compile> 116 </ItemGroup> 117 <ItemGroup> 118 <Compile Include="rajahdys.png"> 119 <Name>rajahdys</Name> 120 <Importer>TextureImporter</Importer> 121 <Processor>TextureProcessor</Processor> 122 </Compile> 123 </ItemGroup> 96 124 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 97 125 <!-- 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.