Changeset 4805
- Timestamp:
- 2013-11-24 16:55:53 (9 years ago)
- Location:
- 2013/anlakane/Tiernapojat
- Files:
-
- 14 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
2013/anlakane/Tiernapojat/Tiernapojat/Tiernapojat/Tiernapojat.cs
r4804 r4805 45 45 46 46 // sivu taka käsi 47 private Image[] herodeksenKuvat = { LoadImage(" norsu"), LoadImage("norsu"), LoadImage("kasi"), LoadImage("miekka") };48 private Image[] muriaaninKuvat = { LoadImage(" norsu"), LoadImage("norsu"), LoadImage("kasi"), LoadImage("miekka") };49 private Image[] knihdinKuvat = { LoadImage(" norsu"), LoadImage("norsu"), LoadImage("kasi"), LoadImage("miekka") };50 private Image[] mankinKuvat = { LoadImage(" norsu"), LoadImage("norsu"), LoadImage("kasi"), LoadImage("tahti") };47 private Image[] herodeksenKuvat = { LoadImage("TP_Herodes07"), LoadImage("TP_HerodesBack03"), LoadImage("TP_HerodesCrouch01"), LoadImage("TP_HerodesHand05"), LoadImage("TP_sword2"), LoadImage("TP_handle2"), LoadImage("TP_HerodesHead01"), LoadImage("TP_HerodesHeadBack01") }; 48 private Image[] muriaaninKuvat = { LoadImage("TP_Herodes07"), LoadImage("TP_Herodes07"), LoadImage("TP_HerodesCrouch01"), LoadImage("TP_HerodesHand05"), LoadImage("miekka"), LoadImage("miekankahva"), LoadImage("TP_HerodesHead01"), LoadImage("TP_HerodesHeadBack01") }; 49 private Image[] knihdinKuvat = { LoadImage("TP_Herodes07"), LoadImage("TP_Herodes07"), LoadImage("TP_HerodesCrouch01"), LoadImage("TP_HerodesHand05"), LoadImage("miekka"), LoadImage("miekankahva"), LoadImage("TP_HerodesHead01"), LoadImage("TP_HerodesHeadBack01") }; 50 private Image[] mankinKuvat = { LoadImage("TP_Herodes07"), LoadImage("TP_Herodes07"), LoadImage("TP_HerodesCrouch01"), LoadImage("TP_HerodesHand05"), LoadImage("tahti"), LoadImage("tahti"), LoadImage("TP_HerodesHead01"), LoadImage("TP_HerodesHeadBack01") }; 51 51 52 52 private SoundEffect maaliAani = LoadSoundEffect("maali"); … … 124 124 125 125 AddCollisionHandler(poika, "tahti", TormaaTahteen); 126 // Add(poika1.KiinnitysVartaloon);126 AddCollisionHandler(poika.Miekka, "tahti", TormaaTahteen); 127 127 pojat.Add(poika); 128 128 } … … 134 134 Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", poika, nopeus); 135 135 Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", poika, hyppyNopeus); 136 Keyboard.Listen(Key.Down, ButtonState.Pressed, Polvistu, "Pelaaja hyppää", poika, hyppyNopeus);136 Keyboard.Listen(Key.Down, ButtonState.Pressed, Polvistu, "Pelaaja polvistuu", poika, hyppyNopeus); 137 137 Keyboard.Listen(Key.Multiply, ButtonState.Pressed, () => poika.Pyorita(), "Pyöritä tähteä"); 138 138 139 controller.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");139 // controller.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 140 140 controller.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", poika, -nopeus); 141 141 controller.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", poika, nopeus); 142 controller.Listen(Button.DPadUp, ButtonState.Down, Pois, "Pelaaja poispäin", poika, nopeus); 143 controller.Listen(Button.DPadDown, ButtonState.Down, Takaisin, "Pelaaja takaisinpäin", poika, nopeus); 144 controller.Listen(Button.Y, ButtonState.Down, Nouse, "Pelaaja nousee", poika, -nopeus); 145 controller.Listen(Button.A, ButtonState.Down, Polvistu, "Pelaaja polvistuu", poika, nopeus); 142 controller.Listen(Button.DPadUp, ButtonState.Down, () => poika.Pois(nopeus), "Pelaaja poispäin"); 143 controller.Listen(Button.DPadDown, ButtonState.Down, () => poika.Takaisin(nopeus), "Pelaaja takaisinpäin"); 144 controller.Listen(Button.Y, ButtonState.Pressed, () => poika.Nouse(nopeus), "Pelaaja nousee"); 145 //controller.Listen(Button.A, ButtonState.Down, Polvistu, "Pelaaja polvistuu", poika, nopeus); 146 controller.Listen(Button.A, ButtonState.Pressed, () => poika.KyykyynYlos(nopeus), "Kyykyyn/Ylös"); 146 147 controller.Listen(Button.RightTrigger, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", poika, hyppyNopeus); 147 148 controller.Listen(Button.RightShoulder, ButtonState.Pressed, () => poika.Pyorita(), "Pyöritä tähteä"); 148 controller.Listen(Button.X, ButtonState.Pressed, () => poika.Miekka Tuppeen(), "Miekka tuppeen");149 controller.Listen(Button.X, ButtonState.Pressed, () => poika.MiekkaSwap(), "Miekka pois/takaisin"); 149 150 controller.Listen(Button.B, ButtonState.Pressed, () => poika.MiekkaEsiin(), "Miekka esiin"); 150 151 151 152 controller.ListenAnalog(AnalogControl.RightStick, 0.03, LiikutaKatta, "Liikuta kättä", poika); 153 controller.ListenAnalog(AnalogControl.LeftStick, 0.03, (a) => poika.KaannaPaa(a.StateVector.X * -70), "Käännä pää"); 152 154 153 155 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); … … 156 158 void LiikutaKatta(AnalogState a, Tiernapoika poika) 157 159 { 158 double kulma = a.StateVector.Y * 90;159 poika. LiikkuvaOsa.Tavoite = Angle.FromDegrees(kulma);160 double kulma = a.StateVector.Y * 130; 161 poika.Osoita(kulma); 160 162 } 161 163 … … 168 170 { 169 171 hahmo.Polvistu(nopeus); 170 }171 172 void Nouse(Tiernapoika hahmo, double nopeus)173 {174 hahmo.Nouse(nopeus);175 }176 177 void Pois(Tiernapoika hahmo, double nopeus)178 {179 hahmo.Pois(nopeus);180 }181 182 void Takaisin(Tiernapoika hahmo, double nopeus)183 {184 hahmo.Takaisin(nopeus);185 172 } 186 173 … … 201 188 public class Tiernapoika : PlatformCharacter 202 189 { 203 204 private KaantyvaOsa liikkuvaOsa; 190 private KaantyvaOsa paa; 191 private KaantyvaOsa kasi; 192 private PhysicsObject miekka; 193 private PhysicsObject miekankahva; 194 205 195 private Direction suunta; 206 196 private Vector koko; 207 private Vector liikkuvaKoko; 197 198 private Vector paanKoko; 199 private Vector kadenKoko; 208 200 private Vector miekanKoko; 201 private Vector miekanKahvanKoko; 202 203 private Image etu; 204 private Image taka; 205 private Image kyykky; 206 private Image paaetu; 207 private Image paataka; 208 209 209 private PhysicsGame peli; 210 private PhysicsObject miekka; 211 212 public KaantyvaOsa LiikkuvaOsa 213 { 214 get { return liikkuvaOsa; } 210 211 public KaantyvaOsa Kasi 212 { 213 get { return kasi; } 214 } 215 216 public PhysicsObject Miekka 217 { 218 get { return miekka; } 215 219 } 216 220 … … 219 223 : base(leveys, korkeus) 220 224 { 221 Image = kuvat[0]; 225 etu = kuvat[0]; 226 taka = kuvat[1]; 227 kyykky = kuvat[2]; 228 Image = etu; 229 Height = Width * Image.Height / Image.Width; 230 koko = Size; 231 CollisionIgnoreGroup = 1; 232 233 paa = new KaantyvaOsa(1, 1); 234 paaetu = kuvat[6]; 235 paataka = kuvat[7]; 236 paa.Image = paaetu; 237 paa.Height = paa.Image.Height * Size.Y / Image.Height; 238 paa.Width = paa.Image.Width * Size.X / Image.Width; 239 paa.IgnoresGravity = true; 240 paa.CollisionIgnoreGroup = 1; 241 paanKoko = paa.Size; 242 243 Add(paa); 244 paa.Mass = 10000; 245 paa.Suunta = Direction.Left; 222 246 223 247 // Pojan oikea käsi 224 liikkuvaOsa = new KaantyvaOsa(leveys, korkeus / 4); 225 liikkuvaOsa.Left = Right - Width / 10; 226 liikkuvaOsa.Y = Top - Height / 4; 227 liikkuvaOsa.Color = Color.Gray; 248 kasi = new KaantyvaOsa(Height, Height); 249 kasi.Image = kuvat[3]; 250 kasi.Height = kasi.Image.Height * Height / Image.Height; 251 kasi.Width = kasi.Height / kasi.Image.Height * kasi.Image.Width; 252 kasi.Left = Right - Width / 10; 253 kasi.Y = Top - Height / 4; 254 kasi.Color = Color.Gray; 228 255 // Poika ja käsi eivät saa törmätä toisiinsa 229 CollisionIgnoreGroup = 1; 230 liikkuvaOsa.CollisionIgnoreGroup = 1; 231 liikkuvaOsa.Image = kuvat[2]; 232 liikkuvaKoko = liikkuvaOsa.Size; 233 Add(liikkuvaOsa); 256 kasi.CollisionIgnoreGroup = 1; 257 kadenKoko = kasi.Size; 258 kasi.Mass = 2000; 259 Add(kasi); 234 260 235 261 DirectionChanged += new Action<Direction>(Kaantyi); 236 koko = Size; 237 Mass = 40000.0; 262 Mass = 5000.0; 238 263 suunta = Direction.Right; 239 264 240 miekka = new PhysicsObject( leveys * 1.5, 1);241 miekka.Image = kuvat[ 3];265 miekka = new PhysicsObject(Height*0.7, 1); 266 miekka.Image = kuvat[4]; 242 267 miekka.Height = miekka.Width * miekka.Image.Height / miekka.Image.Width; 243 268 miekka.IgnoresGravity = true; … … 245 270 miekanKoko = miekka.Size; 246 271 miekka.Angle = Angle.FromDegrees(10); 247 liikkuvaOsa.Add(miekka); 272 kasi.Add(miekka); 273 274 miekankahva = new PhysicsObject(Height * 0.7, 1); 275 miekankahva.Position = new Vector(0, 0); 276 miekankahva.Image = kuvat[5]; 277 miekankahva.Height = miekankahva.Image.Height * miekanKoko.Y / miekka.Image.Height; 278 miekankahva.Width = miekankahva.Image.Width * miekanKoko.X / miekka.Image.Width; 279 miekankahva.IgnoresGravity = true; 280 miekankahva.CollisionIgnoreGroup = 1; 281 miekanKahvanKoko = miekankahva.Size; 282 miekankahva.Angle = Angle.FromDegrees(-20); 283 Add(miekankahva); 284 248 285 249 286 peli.Add(this, 1); 250 287 //peli.Add(liikkuvaOsa); 251 288 this.peli = peli; 289 MiekkaEsiin(); 252 290 SaadaKoko(koko); 253 291 } … … 255 293 private void Kaantyi(Direction suunta) 256 294 { 295 double suuntakerroin = 1; 257 296 miekka.StopAngular(); 258 if (suunta == Direction.Left) 259 { 260 liikkuvaOsa.X = -Width / 2 * 0.9; 261 miekka.Angle = Angle.FromDegrees(-10); 262 } 263 else 264 { 265 liikkuvaOsa.X = Width / 2 * 0.9; 266 miekka.Angle = Angle.FromDegrees(10); 267 } 268 liikkuvaOsa.Suunta = suunta; 297 if (suunta == Direction.Left) suuntakerroin = -1; 298 miekka.Angle = Angle.FromDegrees(10*suuntakerroin); 299 miekankahva.Angle = Angle.FromDegrees(-20*suuntakerroin); 300 kasi.Suunta = suunta; 301 paa.Suunta = suunta; 269 302 this.suunta = suunta; 270 liikkuvaOsa.Y = Height / 6; 303 kasi.Position = new Vector(Width / 2 * 0.85*suuntakerroin, Height * 0.27); 304 paa.Position = new Vector(Width * 0.1*suuntakerroin, Height * 0.3); 271 305 } 272 306 … … 275 309 { 276 310 Size = uusikoko; 277 liikkuvaOsa.Size = liikkuvaKoko * Size.Y / koko.Y; 278 miekka.Size = miekanKoko * Size.Y / koko.Y; 279 miekka.Position = new Vector(liikkuvaOsa.Width / 2 - 10, 0); 311 double kerroin = Size.Y / koko.Y; 312 kasi.Size = kadenKoko * kerroin; 313 miekka.Size = miekanKoko * kerroin; 314 miekankahva.Size = miekanKahvanKoko * kerroin; 315 paa.Size = paanKoko * kerroin; 316 miekka.Position = new Vector(kasi.Width / 2 - 10, 0); 280 317 Kaantyi(suunta); 318 } 319 320 321 public void Flip() 322 { 323 if (suunta == Direction.Left) Walk(0.1); 324 else Walk(-0.1); 281 325 } 282 326 … … 286 330 SaadaKoko(koko); 287 331 Kaantyi(suunta); 332 Image = etu; 288 333 } 289 334 … … 292 337 { 293 338 SaadaKoko(new Vector(Width, koko.Y / 2)); 339 MiekkaTuppeen(); 340 Image = kyykky; 294 341 } 295 342 … … 301 348 // peli.Remove(this); 302 349 // peli.Add(this, -1); 350 if (Image != taka) 351 { 352 Image = taka; 353 paa.Image = paataka; 354 Flip(); 355 } 303 356 } 304 357 … … 310 363 // peli.Remove(this); 311 364 // peli.Add(this, 1); 365 if (Image != etu) 366 { 367 Image = etu; 368 paa.Image = paaetu; 369 Flip(); 370 } 312 371 } 313 372 … … 315 374 { 316 375 miekka.IsVisible = false; 317 liikkuvaOsa.Tavoite = Angle.FromDegrees(-90); 376 miekankahva.IsVisible = true; 377 Osoita(-110); 318 378 } 319 379 320 380 internal void MiekkaEsiin() 321 381 { 382 Osoita(-110); 322 383 miekka.IsVisible = true; 384 miekankahva.IsVisible = false; 323 385 } 324 386 … … 326 388 { 327 389 miekka.ApplyTorque(100000); 390 } 391 392 internal void MiekkaSwap() 393 { 394 if (miekka.IsVisible) MiekkaTuppeen(); else MiekkaEsiin(); 395 } 396 397 internal void KyykyynYlos(double nopeus) 398 { 399 if (Height < koko.Y * 0.6) Nouse(nopeus); else Polvistu(nopeus); 400 } 401 402 internal void Osoita(double kulma) 403 { 404 Kasi.Tavoite = Angle.FromDegrees(kulma); 405 } 406 407 408 public void KaannaPaa(double kulma) 409 { 410 paa.Tavoite = Angle.FromDegrees(kulma); 328 411 } 329 412 } … … 347 430 private Angle tavoite; 348 431 private bool saavutettu = true; 432 private Direction suunta = Direction.Right; 349 433 public Direction Suunta 350 434 { 435 get { return suunta; } 351 436 set 352 437 { 438 if ( value != Suunta) FlipImage(); 439 suunta = value; 353 440 if (value == Direction.Left) { suuntaero = vasen; s = -1; } else { suuntaero = oikea; s = 1; } 354 441 Tavoite = Tavoite; … … 379 466 if (Math.Abs(suunta) > d) 380 467 { 468 if (suunta > 180) suunta = 360 - suunta; 381 469 this.StopAngular(); 382 470 this.ApplyTorque(10000000 * 35.0 * suunta); // kokeiltu hihavakio -
2013/anlakane/Tiernapojat/Tiernapojat/TiernapojatContent/TiernapojatContent.contentproj
r4803 r4805 88 88 </Compile> 89 89 </ItemGroup> 90 <ItemGroup> 91 <Compile Include="TP_Herodes03.png"> 92 <Name>TP_Herodes03</Name> 93 <Importer>TextureImporter</Importer> 94 <Processor>TextureProcessor</Processor> 95 </Compile> 96 </ItemGroup> 97 <ItemGroup> 98 <Compile Include="TP_HerodesHand03.png"> 99 <Name>TP_HerodesHand03</Name> 100 <Importer>TextureImporter</Importer> 101 <Processor>TextureProcessor</Processor> 102 </Compile> 103 </ItemGroup> 104 <ItemGroup> 105 <Compile Include="TP_Herodes05.png"> 106 <Name>TP_Herodes05</Name> 107 <Importer>TextureImporter</Importer> 108 <Processor>TextureProcessor</Processor> 109 </Compile> 110 </ItemGroup> 111 <ItemGroup> 112 <Compile Include="TP_HerodesHand04.png"> 113 <Name>TP_HerodesHand04</Name> 114 <Importer>TextureImporter</Importer> 115 <Processor>TextureProcessor</Processor> 116 </Compile> 117 </ItemGroup> 118 <ItemGroup> 119 <Compile Include="miekankahva.png"> 120 <Name>miekankahva</Name> 121 <Importer>TextureImporter</Importer> 122 <Processor>TextureProcessor</Processor> 123 </Compile> 124 </ItemGroup> 125 <ItemGroup> 126 <Compile Include="TP_Herodes07.png"> 127 <Name>TP_Herodes07</Name> 128 <Importer>TextureImporter</Importer> 129 <Processor>TextureProcessor</Processor> 130 </Compile> 131 </ItemGroup> 132 <ItemGroup> 133 <Compile Include="TP_HerodesHead01.png"> 134 <Name>TP_HerodesHead01</Name> 135 <Importer>TextureImporter</Importer> 136 <Processor>TextureProcessor</Processor> 137 </Compile> 138 </ItemGroup> 139 <ItemGroup> 140 <Compile Include="TP_HerodesBack02.png"> 141 <Name>TP_HerodesBack02</Name> 142 <Importer>TextureImporter</Importer> 143 <Processor>TextureProcessor</Processor> 144 </Compile> 145 </ItemGroup> 146 <ItemGroup> 147 <Compile Include="TP_HerodesHeadBack01.png"> 148 <Name>TP_HerodesHeadBack01</Name> 149 <Importer>TextureImporter</Importer> 150 <Processor>TextureProcessor</Processor> 151 </Compile> 152 </ItemGroup> 153 <ItemGroup> 154 <Compile Include="TP_sword2.png"> 155 <Name>TP_sword2</Name> 156 <Importer>TextureImporter</Importer> 157 <Processor>TextureProcessor</Processor> 158 </Compile> 159 </ItemGroup> 160 <ItemGroup> 161 <Compile Include="TP_handle2.png"> 162 <Name>TP_handle2</Name> 163 <Importer>TextureImporter</Importer> 164 <Processor>TextureProcessor</Processor> 165 </Compile> 166 </ItemGroup> 167 <ItemGroup> 168 <Compile Include="TP_HerodesCrouch01.png"> 169 <Name>TP_HerodesCrouch01</Name> 170 <Importer>TextureImporter</Importer> 171 <Processor>TextureProcessor</Processor> 172 </Compile> 173 </ItemGroup> 174 <ItemGroup> 175 <Compile Include="TP_HerodesBack03.png"> 176 <Name>TP_HerodesBack03</Name> 177 <Importer>TextureImporter</Importer> 178 <Processor>TextureProcessor</Processor> 179 </Compile> 180 </ItemGroup> 181 <ItemGroup> 182 <Compile Include="TP_HerodesHand05.png"> 183 <Name>TP_HerodesHand05</Name> 184 <Importer>TextureImporter</Importer> 185 <Processor>TextureProcessor</Processor> 186 </Compile> 187 </ItemGroup> 90 188 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 91 189 <!-- 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.