Changeset 4815 for 2013/anlakane
- Timestamp:
- 2013-11-24 19:30:36 (9 years ago)
- Location:
- 2013/anlakane/Tiernapojat/Tiernapojat
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
2013/anlakane/Tiernapojat/Tiernapojat/Tiernapojat/Tiernapojat.cs
r4811 r4815 7 7 using Jypeli.Widgets; 8 8 9 public struct TiernapojanKuvat 10 { 11 public Image vartalo; 12 public Image vartaloTakaa; 13 public Image polvillaan; 14 public Image kasi; 15 public Image miekka; 16 public Image kahva; 17 public Image paa; 18 public Image paaTakaa; 19 } 9 20 10 21 … … 21 32 " ", 22 33 " ", 34 " ", 35 " ", 23 36 " * ", 24 37 " * * * ", … … 44 57 private Image miekankuva = LoadImage("miekka"); 45 58 46 // sivu taka käsi 47 private Image[] herodeksenKuvat = { LoadImage("TP_Herodes"), LoadImage("TP_HerodesBack"), LoadImage("TP_HerodesCrouch"), LoadImage("TP_HerodesHand"), LoadImage("TP_sword"), LoadImage("TP_handle"), LoadImage("TP_HerodesHead"), LoadImage("TP_HerodesHeadBack") }; 48 private Image[] murjaaninKuvat = { LoadImage("TP_Murjaani"), LoadImage("TP_MurjaaniBack"), LoadImage("TP_HerodesCrouch"), LoadImage("TP_HerodesHand"), LoadImage("TP_sword"), LoadImage("TP_handle"), LoadImage("TP_MurjaaniHead"), LoadImage("TP_MurjaaniHeadBack") }; 49 private Image[] knihdinKuvat = { LoadImage("TP_Knihti"), LoadImage("TP_KnihtiBack"), LoadImage("TP_HerodesCrouch"), LoadImage("TP_HerodesHand"), LoadImage("TP_sword"), LoadImage("miekankahva"), LoadImage("TP_KnihtiHead"), LoadImage("TP_KnihtiHeadBack") }; 50 private Image[] mankinKuvat = { LoadImage("TP_Herodes"), LoadImage("TP_Herodes"), LoadImage("TP_HerodesCrouch"), LoadImage("TP_HerodesHand"), LoadImage("tahti"), LoadImage("tahti"), LoadImage("TP_HerodesHead"), LoadImage("TP_HerodesHeadBack") }; 59 private TiernapojanKuvat herodeksenKuvat = new TiernapojanKuvat { vartalo = LoadImage("TP_Herodes"), vartaloTakaa = LoadImage("TP_HerodesBack"), polvillaan = LoadImage("TP_HerodesCrouch"), kasi = LoadImage("TP_HerodesHand"), miekka = LoadImage("TP_sword"), kahva = LoadImage("TP_handle"), paa = LoadImage("TP_HerodesHead"), paaTakaa = LoadImage("TP_HerodesHeadBack") }; 60 private TiernapojanKuvat murjaaninKuvat = new TiernapojanKuvat { vartalo = LoadImage("TP_Murjaani"), vartaloTakaa = LoadImage("TP_MurjaaniBack"), polvillaan = LoadImage("TP_MurjaaniCrouch"), kasi = LoadImage("TP_MurjaaniHand"), miekka = LoadImage("TP_sword"), kahva = LoadImage("TP_handle"), paa = LoadImage("TP_MurjaaniHead"), paaTakaa = LoadImage("TP_MurjaaniHeadBack") }; 61 private TiernapojanKuvat knihdinKuvat = new TiernapojanKuvat { vartalo = LoadImage("TP_Knihti"), vartaloTakaa = LoadImage("TP_KnihtiBack"), polvillaan = LoadImage("TP_HerodesCrouch"), kasi = LoadImage("TP_HerodesHand"), miekka = LoadImage("TP_sword"), kahva = LoadImage("TP_handle"), paa = LoadImage("TP_KnihtiHead"), paaTakaa = LoadImage("TP_KnihtiHeadBack") }; 62 private TiernapojanKuvat mankinKuvat = new TiernapojanKuvat { vartalo = LoadImage("TP_Herodes"), vartaloTakaa = LoadImage("TP_Herodes"), polvillaan = LoadImage("TP_HerodesCrouch"), kasi = LoadImage("TP_HerodesHand"), miekka = LoadImage("tahti"), kahva = LoadImage("tahti"), paa = LoadImage("TP_HerodesHead"), paaTakaa = LoadImage("TP_HerodesHeadBack") }; 51 63 52 64 private SoundEffect maaliAani = LoadSoundEffect("maali"); … … 74 86 // Camera.StayInLevel = true; 75 87 } 88 76 89 77 90 void LuoKentta() … … 83 96 kentta.SetTileMethod('*', LisaaTahti); 84 97 kentta.SetTileMethod('H', (p, l, k) => LisaaPelaaja(p, l, k, herodeksenKuvat)); 85 kentta.SetTileMethod('M', (p, l, k) => LisaaPelaaja(p, l *1.3, k*1.1, murjaaninKuvat));86 kentta.SetTileMethod('K', (p, l, k) => LisaaPelaaja(p, l *1.2, k*0.9, knihdinKuvat));98 kentta.SetTileMethod('M', (p, l, k) => LisaaPelaaja(p, l * 1.3, k * 1.1, murjaaninKuvat)); 99 kentta.SetTileMethod('K', (p, l, k) => LisaaPelaaja(p, l * 1.2, k * 0.9, knihdinKuvat)); 87 100 kentta.SetTileMethod('N', (p, l, k) => LisaaPelaaja(p, l, k, mankinKuvat)); 88 101 kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); … … 91 104 } 92 105 106 93 107 void LisaaTaso(Vector paikka, double leveys, double korkeus) 94 108 { … … 99 113 } 100 114 115 101 116 void LisaaPohjaTaso(Vector paikka, double leveys, double korkeus) 102 117 { … … 106 121 Add(taso); 107 122 } 123 108 124 109 125 void LisaaTahti(Vector paikka, double leveys, double korkeus) … … 117 133 } 118 134 119 void LisaaPelaaja(Vector paikka, double leveys, double korkeus, Image[] kuvat) 135 136 void LisaaPelaaja(Vector paikka, double leveys, double korkeus, TiernapojanKuvat kuvat) 120 137 { 121 138 Tiernapoika poika = new Tiernapoika(this, leveys * 4, korkeus * 4, kuvat); … … 127 144 pojat.Add(poika); 128 145 } 146 129 147 130 148 void LisaaNappaimet(GamePad controller, Tiernapoika poika) … … 158 176 } 159 177 178 160 179 void LiikutaKatta(AnalogState a, Tiernapoika poika) 161 180 { … … 164 183 } 165 184 185 166 186 void Liikuta(Tiernapoika hahmo, double nopeus) 167 187 { … … 169 189 } 170 190 191 171 192 void Polvistu(Tiernapoika hahmo, double nopeus) 172 193 { 173 194 hahmo.Polvistu(nopeus); 174 195 } 196 175 197 176 198 void Hyppaa(Tiernapoika hahmo, double nopeus) … … 179 201 hahmo.Jump(nopeus); 180 202 } 203 181 204 182 205 void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti) … … 188 211 } 189 212 213 214 190 215 public class Tiernapoika : PlatformCharacter 191 216 { 217 // Tiernapojan osat 192 218 private KaantyvaOsa paa; 193 219 private KaantyvaOsa kasi; … … 195 221 private PhysicsObject miekankahva; 196 222 197 private Direction suunta; 223 224 // Alkuperäiset koot 198 225 private Vector koko; 199 200 226 private Vector paanKoko; 201 227 private Vector kadenKoko; … … 203 229 private Vector miekanKahvanKoko; 204 230 205 private Image etu; 206 private Image taka; 207 private Image kyykky; 208 private Image paaetu; 209 private Image paataka; 231 private TiernapojanKuvat kuvat; 232 233 private Direction suunta; 210 234 211 235 private PhysicsGame peli; … … 222 246 223 247 224 public Tiernapoika(PhysicsGame peli, double leveys, double korkeus, Image[]kuvat)248 public Tiernapoika(PhysicsGame peli, double leveys, double korkeus, TiernapojanKuvat kuvat) 225 249 : base(leveys, korkeus) 226 250 { 227 double suhde = korkeus/leveys; 228 etu = kuvat[0]; 229 taka = kuvat[1]; 230 kyykky = kuvat[2]; 231 Image = etu; 251 this.kuvat = kuvat; 252 double suhde = korkeus / leveys; 253 Image = kuvat.vartalo; 232 254 Height = Width * Image.Height / Image.Width * suhde; 233 255 koko = Size; 234 256 CollisionIgnoreGroup = 1; 257 Mass = 5000.0; 258 suunta = Direction.Right; 259 DirectionChanged += new Action<Direction>(Kaantyi); 235 260 236 261 paa = new KaantyvaOsa(1, 1); 237 paaetu = kuvat[6]; 238 paataka = kuvat[7]; 239 paa.Image = paaetu; 262 paa.Image = kuvat.paa; 240 263 paa.Height = paa.Image.Height * Size.Y / Image.Height; 241 264 paa.Width = paa.Image.Width * Size.X / Image.Width; … … 243 266 paa.CollisionIgnoreGroup = 1; 244 267 paanKoko = paa.Size; 245 246 Add(paa);247 268 paa.Mass = 10000; 248 269 paa.Suunta = Direction.Left; 249 270 271 Add(paa); 272 250 273 // Pojan oikea käsi 251 274 kasi = new KaantyvaOsa(Height, Height); 252 kasi.Image = kuvat[3]; 253 kasi.Height = kasi.Image.Height * Height / Image.Height; 254 kasi.Width = kasi.Height / kasi.Image.Height * kasi.Image.Width; 255 kasi.Left = Right - Width / 10; 256 kasi.Y = Top - Height / 4; 257 kasi.Color = Color.Gray; 275 kasi.Image = kuvat.kasi; 276 kasi.Height = kasi.Image.Height * Height / Image.Height / suhde; 277 kasi.Width = kasi.Height / kasi.Image.Height * kasi.Image.Width * suhde; 258 278 // Poika ja käsi eivät saa törmätä toisiinsa 259 279 kasi.CollisionIgnoreGroup = 1; … … 262 282 Add(kasi); 263 283 264 DirectionChanged += new Action<Direction>(Kaantyi); 265 Mass = 5000.0; 266 suunta = Direction.Right; 267 268 miekka = new PhysicsObject(Height*0.7, 1); 269 miekka.Image = kuvat[4]; 284 285 miekka = new PhysicsObject(Height * 0.7, 1); 286 miekka.Image = kuvat.miekka; 270 287 miekka.Height = miekka.Width * miekka.Image.Height / miekka.Image.Width; 271 288 miekka.IgnoresGravity = true; … … 276 293 277 294 miekankahva = new PhysicsObject(Height * 0.7, 1); 278 miekankahva.Image = kuvat [5];295 miekankahva.Image = kuvat.kahva; 279 296 miekankahva.Height = miekankahva.Image.Height * miekanKoko.Y / miekka.Image.Height; 280 297 miekankahva.Width = miekankahva.Image.Width * miekanKoko.X / miekka.Image.Width; … … 285 302 Add(miekankahva); 286 303 287 288 304 peli.Add(this, 1); 289 //peli.Add(liikkuvaOsa);290 305 this.peli = peli; 291 306 MiekkaEsiin(); … … 298 313 miekka.StopAngular(); 299 314 if (suunta == Direction.Left) suuntakerroin = -1; 300 miekka.Angle = Angle.FromDegrees(10 *suuntakerroin);301 miekankahva.Angle = Angle.FromDegrees(-20 *suuntakerroin);315 miekka.Angle = Angle.FromDegrees(10 * suuntakerroin); 316 miekankahva.Angle = Angle.FromDegrees(-20 * suuntakerroin); 302 317 kasi.Suunta = suunta; 303 318 paa.Suunta = suunta; 304 319 this.suunta = suunta; 305 kasi.Position = new Vector(Width / 2 * 0.85*suuntakerroin, Height * 0.27); 306 paa.Position = new Vector(Width * 0.1*suuntakerroin, Height * 0.3); 307 } 308 309 310 private void SaadaKoko(Vector uusikoko,bool myosMuut = true) 320 321 kasi.Position = new Vector(Width / 2 * 0.85 * suuntakerroin, Height * 0.27); 322 paa.Position = new Vector(Width * 0.1 * suuntakerroin, Height * 0.3); 323 miekankahva.Position = new Vector(0, Height * 0.1); 324 miekka.Position = new Vector(kasi.Width / 2 - 10, 0); 325 } 326 327 328 private void SaadaKoko(Vector uusikoko, bool myosMuut = true) 311 329 { 312 330 Size = uusikoko; … … 318 336 miekankahva.Size = miekanKahvanKoko * kerroin; 319 337 paa.Size = paanKoko * kerroin; 320 miekankahva.Position = new Vector(0, Height*0.1);321 miekka.Position = new Vector(kasi.Width / 2 - 10, 0);322 338 } 323 339 Kaantyi(suunta); … … 332 348 333 349 334 internalvoid Nouse(double nopeus)350 public void Nouse(double nopeus) 335 351 { 336 352 SaadaKoko(koko); 337 353 Kaantyi(suunta); 338 Image = etu; 339 } 340 341 342 internal void Polvistu(double nopeus) 343 { 344 SaadaKoko(new Vector(Width, koko.Y / 2),false); 354 Image = kuvat.vartalo; 355 paa.Image = kuvat.paa; 356 } 357 358 359 public void Polvistu(double nopeus) 360 { 361 SaadaKoko(new Vector(Width, koko.Y / 2), false); 345 362 MiekkaTuppeen(); 346 Image = k yykky;347 } 348 349 350 internalvoid Pois(double nopeus)363 Image = kuvat.polvillaan; 364 } 365 366 367 public void Pois(double nopeus) 351 368 { 352 369 if (Height < koko.Y / 2) return; … … 354 371 // peli.Remove(this); 355 372 // peli.Add(this, -1); 356 if (Image != taka)357 { 358 Image = taka;359 paa.Image = paataka;373 if (Image != kuvat.vartaloTakaa) 374 { 375 Image = kuvat.vartaloTakaa; 376 paa.Image = kuvat.paaTakaa; 360 377 Flip(); 361 378 miekankahva.IsVisible = false; … … 364 381 365 382 366 internalvoid Takaisin(double nopeus)383 public void Takaisin(double nopeus) 367 384 { 368 385 if (Height > koko.Y) Nouse(nopeus); … … 370 387 // peli.Remove(this); 371 388 // peli.Add(this, 1); 372 if (Image != etu)373 { 374 Image = etu;375 paa.Image = paaetu;389 if (Image != kuvat.vartalo) 390 { 391 Image = kuvat.vartalo; 392 paa.Image = kuvat.paa; 376 393 Flip(); 377 394 if (!miekka.IsVisible) miekankahva.IsVisible = true; … … 379 396 } 380 397 381 internalvoid MiekkaTuppeen()398 public void MiekkaTuppeen() 382 399 { 383 400 miekka.IsVisible = false; … … 386 403 } 387 404 388 internalvoid MiekkaEsiin()405 public void MiekkaEsiin() 389 406 { 390 407 Osoita(-110); … … 393 410 } 394 411 395 internalvoid Pyorita()412 public void Pyorita() 396 413 { 397 414 miekka.ApplyTorque(100000); 398 415 } 399 416 400 internalvoid MiekkaSwap()417 public void MiekkaSwap() 401 418 { 402 419 if (miekka.IsVisible) MiekkaTuppeen(); else MiekkaEsiin(); 403 420 } 404 421 405 internalvoid KyykyynYlos(double nopeus)422 public void KyykyynYlos(double nopeus) 406 423 { 407 424 if (Height < koko.Y * 0.6) Nouse(nopeus); else Polvistu(nopeus); 408 425 } 409 426 410 internal void Osoita(double kulma) 411 { 427 public void Osoita(double kulma) 428 { 429 miekka.StopAngular(); 412 430 Kasi.Tavoite = Angle.FromDegrees(kulma); 413 431 } … … 423 441 /// @author Vesa Lappalainen 424 442 /// @version 16.10.2011 443 /// @version 24.11.2013 425 444 /// <summary> 426 445 /// Osa, jolle voidaan asettaa suunta johon se pyrkii. 446 /// Suunta käännetään toisinpäin jos ollaan menossa vasemmalle. 427 447 /// </summary> 428 448 public class KaantyvaOsa : PhysicsObject … … 444 464 set 445 465 { 446 if ( 466 if (value != Suunta) FlipImage(); 447 467 suunta = value; 448 468 if (value == Direction.Left) { suuntaero = vasen; s = -1; } else { suuntaero = oikea; s = 1; } … … 463 483 464 484 /// <summary> 465 /// Uusi versio Update-metodista, jossa nyt käännetään mailaa kohti tavoitekulmaa.485 /// Uusi versio Update-metodista, jossa nyt käännetään osaa kohti tavoitekulmaa. 466 486 /// </summary> 467 487 /// <param name="time">Peliaika</param> -
2013/anlakane/Tiernapojat/Tiernapojat/TiernapojatContent/TiernapojatContent.contentproj
r4811 r4815 197 197 </Compile> 198 198 </ItemGroup> 199 <ItemGroup> 200 <Compile Include="TP_MurjaaniCrouch.png"> 201 <Name>TP_MurjaaniCrouch</Name> 202 <Importer>TextureImporter</Importer> 203 <Processor>TextureProcessor</Processor> 204 </Compile> 205 </ItemGroup> 206 <ItemGroup> 207 <Compile Include="TP_MurjaaniHand.png"> 208 <Name>TP_MurjaaniHand</Name> 209 <Importer>TextureImporter</Importer> 210 <Processor>TextureProcessor</Processor> 211 </Compile> 212 </ItemGroup> 199 213 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 200 214 <!-- 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.