- Timestamp:
- 2010-07-29 14:57:54 (13 years ago)
- Location:
- 2010/30/mikrkana/HelicopterHavoc
- Files:
-
- 2 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/30/mikrkana/HelicopterHavoc/Content/Content.contentproj
r1390 r1420 41 41 </Compile> 42 42 </ItemGroup> 43 <ItemGroup> 44 <Compile Include="tankki.png"> 45 <Name>tankki</Name> 46 <Importer>TextureImporter</Importer> 47 <Processor>TextureProcessor</Processor> 48 </Compile> 49 </ItemGroup> 43 50 </Project> -
2010/30/mikrkana/HelicopterHavoc/Peli.cs
r1390 r1420 3 3 using Jypeli.Widgets; 4 4 using Jypeli.Assets; 5 using Physics2DDotNet.Ignorers; 5 6 6 7 public class HelicopterHavoc : PhysicsGame … … 11 12 Image olionkuva = LoadImage("helikopteri"); 12 13 Image olionkuvaPeilattu; 13 14 Image tankinkuva = LoadImage("tankki"); 15 //ClusterGrenade clusterkranaatti; 16 //Grenade kranaatti; 17 18 DoubleMeter voimaMittari; 14 19 15 20 AssaultRifle pyssy; 16 21 Image pyssyKuva; 22 Image pyssyKuvaPeilattu; 17 23 18 24 protected override void Begin() … … 23 29 LisääHelikopteri(); 24 30 LisääOhjaimet(); 31 LuoViholliset(); 25 32 } 26 33 27 34 void LuoKenttä() 28 35 { 29 Level.CreateBorders(1.0, true); 36 Level.Width = 8000.0; 37 Level.Height = 1000.0; 38 Level.CreateBorders(0.0, false); 30 39 Gravity = new Vector(0.0, -500.0); 40 Level.CreateGround(0, 400, 20); 41 Camera.StayInLevel = true; 42 43 //ObjectIgnorer ignorer = new ObjectIgnorer(); 44 //helikopteri.CollisionIgnorer = ignorer; 45 //ClusterGrenade.CollisionIgnorer = ignorer; 46 //Grenade.CollisionIgnorer = ignorer; 31 47 32 48 } … … 39 55 helikopteri.LinearDamping = 0.8; 40 56 helikopteri.CanRotate = false; 57 //AddCollisionHandler(helikopteri, KasitteleHelikopterinTormays); 58 Camera.Follow(helikopteri); 41 59 Add(helikopteri); 42 60 43 pyssy = new AssaultRifle(100, 20); 61 pyssy = new AssaultRifle(100, 20); 62 pyssyKuva = pyssy.Image; 63 pyssyKuvaPeilattu = Image.Mirror(pyssy.Image); 44 64 helikopteri.Add(pyssy); 45 pyssy.Position = new Vector(helikopteri.X + 120, helikopteri.Y-50);65 pyssy.Position = new Vector(helikopteri.X -10, helikopteri.Y-40); 46 66 pyssy.IsVisible = false; 47 48 67 pyssy.Ammo.Value = 1000; 68 69 voimaMittari = new DoubleMeter(4000); 70 voimaMittari.MaxValue = 4000; 71 BarGauge voimaPalkki = new BarGauge(20, 150); 72 voimaPalkki.BindTo(voimaMittari); 73 Add(voimaPalkki); 74 75 voimaPalkki.X = (0.8 * Screen.RightSafe); 76 voimaPalkki.Y = (0.8 * Screen.TopSafe); 77 voimaPalkki.BarColor = Color.Green; 78 voimaPalkki.BorderColor = Color.White; 79 voimaPalkki.Angle = Angle.Degrees(180); 80 81 // Kun voima loppuu, kutsutaan VoimaLoppui-aliohjelmaa 82 voimaMittari.LowerLimit += VoimaLoppui; 49 83 50 84 … … 60 94 Keyboard.Listen(Key.E, ButtonState.Down, KallistaHelikopteria, null, -2.0); 61 95 Keyboard.Listen(Key.Space, ButtonState.Down, Ammu, "Ammu"); 96 Keyboard.Listen(Key.V, ButtonState.Pressed, HeitaClusterKranaatti, "HeitaClusterKranaatti"); 97 Keyboard.Listen(Key.B, ButtonState.Pressed, HeitaKranaatti, "HeitaKranaatti"); 98 Keyboard.Listen(Key.W, ButtonState.Down, VahennaVoimia, "Vähennä pelaajan voimia"); 99 Keyboard.Listen(Key.A, ButtonState.Down, VahennaVoimia, "Vähennä pelaajan voimia"); 100 Keyboard.Listen(Key.S, ButtonState.Down, VahennaVoimia, "Vähennä pelaajan voimia"); 62 101 } 63 102 … … 68 107 { 69 108 ammus.Size = new Vector(20, 4); 109 ammus.MaximumLifetime = new TimeSpan(0, 0, 2); 70 110 } 71 111 } … … 75 115 helikopteri.Push(vektori); 76 116 } 77 78 79 80 117 void LuoViholliset() 118 { 119 PhysicsObject tankki = new PhysicsObject(256, 256); 120 tankki.Image = tankinkuva; 121 tankki.X = 2100.0; //RandomGen.NextDouble(4000.0, 4000.0); 122 tankki.Y = 800.0; //RandomGen.NextDouble(800.0, 900.0); 123 Add(tankki); 124 } 125 81 126 82 127 83 128 protected override void Update(Time time) 84 129 { 85 if (helikopteri.Velocity.X < 0)130 if (helikopteri.Velocity.X <= 0) 86 131 { 87 132 helikopteri.Image = olionkuvaPeilattu; 133 pyssy.Angle = Angle.Radians(Math.PI); 88 134 } 89 135 if (helikopteri.Velocity.X > 0) 90 136 { 91 137 helikopteri.Image = olionkuva; 138 pyssy.Angle = Angle.Radians(0); 92 139 } 93 140 base.Update(time); … … 100 147 } 101 148 149 void HeitaClusterKranaatti() 150 { 151 ClusterGrenade kranaatti = new ClusterGrenade(12.0, 3); 152 kranaatti.X = helikopteri.X + 10; 153 kranaatti.Y = helikopteri.Y + 10; 154 kranaatti.NumberOfClusters = 4; 155 //AddCollisionHandler(ClusterGrenade, KasitteleClusterkranaatinTormays ); 156 kranaatti.FuseTime = TimeSpan.FromSeconds(3.0); 157 Vector heittoVoima = Vector.FromLengthAndAngle(8000, Angle.Degrees(45)); 158 kranaatti.Hit(heittoVoima); 159 Add(kranaatti); 160 } 161 162 void HeitaKranaatti() 163 { 164 Grenade kranaatti = new Grenade(12.0); 165 kranaatti.X = helikopteri.X + 10; 166 kranaatti.Y = helikopteri.Y + 10; 167 //AddCollisionHandler(Grenade, KasitteleKranaatinTormays); 168 kranaatti.FuseTime = TimeSpan.FromSeconds(3 ); 169 Vector heittoVoima = Vector.FromLengthAndAngle(8000, Angle.Degrees(45)); 170 kranaatti.Hit(heittoVoima); 171 172 Add(kranaatti); 173 } 174 175 void VahennaVoimia() 176 { 177 voimaMittari.Value--; 178 } 179 180 void VoimaLoppui(double mittarinArvo) 181 { 182 Explosion rajahdys = new Explosion(800); 183 rajahdys.Position = helikopteri.Position; 184 rajahdys.Speed = 600.0; 185 rajahdys.Force = 20000; 186 Add(rajahdys); 187 helikopteri.Destroy(); 188 189 190 } 191 192 193 194 195 //void KasitteleHelikopterinTormays(PhysicsObject helikopteri, PhysicsObject kohde) 196 //{ 197 //Explosion rajahdys = new Explosion(800); 198 // rajahdys.Position = helikopteri.Position; 199 //rajahdys.Speed = 600.0; 200 //rajahdys.Force = 20000; 201 //Add(rajahdys); 202 203 // } 204 205 //void KasitteleClusterkranaatinTormaus() 206 //{ 207 208 //} 209 210 //void KasitteleKranaatinTormaus() 211 //{ 212 213 //} 214 215 216 217 218 219 220 102 221 }
Note: See TracChangeset
for help on using the changeset viewer.