- Timestamp:
- 2012-07-04 14:59:18 (11 years ago)
- Location:
- 2012/27/JesseK
- Files:
-
- 4 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/27/JesseK/omapeli/omapeli/omapeli/omapeli.cs
r3490 r3550 9 9 public class omapeli : PhysicsGame 10 10 { 11 Vector nopeusOikea = new Vector(150, 0); 12 Vector nopeusVasen = new Vector(-150, 0); 13 Vector nopeusHyppy = new Vector(0, 300); 11 PhysicsObject kolikko; 12 Image idleOikea = LoadImage("hqkeijo"); 13 Image idleVasen; 14 Image myrkkysieni = LoadImage("hqmyrkkysieni"); 15 Image alusta = LoadImage("hqalusta"); 16 double tasonopeus = 10; 17 const double liikkumisnopeus = 90; 18 // Vector nopeusOikea = new Vector(150, 0); 19 // Vector nopeusVasen = new Vector(-150, 0); 20 // Vector nopeusHyppy = new Vector(0, 300); 14 21 PlatformCharacter ukko; 15 22 // PhysicsObject taso; 16 23 public override void Begin() 17 24 { 18 25 idleVasen = Image.Mirror(idleOikea); 19 26 20 27 LuoKentta(); 21 LuoTaso(-150, Level.Bottom + 40.0);22 28 LuoPelaaja(); 29 LuoPisteLaskuri(); 23 30 AsetaKontrollit(); 24 31 Gravity = new Vector(0, -1100); 25 32 26 Camera.ZoomFactor = 6.0;33 Camera.ZoomFactor = 1.3; 27 34 Camera.Follow(ukko); 28 29 35 AddCollisionHandler<PlatformCharacter, PhysicsObject>(ukko, KolikkoKeratty); 36 AddCollisionHandler<PlatformCharacter, PhysicsObject>(ukko, SieniOsuma); 30 37 } 31 38 … … 35 42 ukko.X = -500; 36 43 ukko.Y = Level.Bottom; 37 ukko.Shape = Shape. Rectangle;44 ukko.Shape = Shape.FromImage(idleOikea); 38 45 ukko.Color = Color.Transparent; 39 46 ukko.Image = LoadImage("hqkeijo"); 40 47 ukko.CanRotate = false; 41 ukko.MaintainMomentum = true;48 ukko.MaintainMomentum = false; 42 49 ukko.LinearDamping = 0.93; 43 50 ukko.CollisionIgnoreGroup = 1; 51 ukko.LeftIdleAnimation = new Animation(idleVasen); 52 ukko.RightIdleAnimation = new Animation(idleOikea); 53 ukko.LeftWalkingAnimation = new Animation(idleVasen); 54 ukko.RightWalkingAnimation = new Animation(idleOikea); 44 55 Add(ukko); 45 56 } … … 50 61 PhysicsObject alareuna = Level.CreateBottomBorder(); 51 62 alareuna.IsVisible = true; 52 alareuna.Color = Color.Transparent; 53 alareuna.Image = LoadImage("hqmaa"); 54 63 alareuna.Color = Color.DarkOrange; 64 65 PhysicsObject koro1 = PhysicsObject.CreateStaticObject(300, 100); 66 koro1.X = 200; 67 koro1.Y = Level.Bottom + 50; 68 koro1.Color = Color.DarkOrange; 69 koro1.Shape = Shape.Rectangle; 70 Add(koro1); 71 // Myrkkysienen tekeminen -- Myrkkysienen koko: 25 x 25 55 72 LuoMyrkkysieni(-150.0, Level.Bottom + 12.5); 56 57 PhysicsObject kyltti = PhysicsObject.CreateStaticObject(100, 100); 73 LuoMyrkkysieni(-100.0, Level.Bottom + 12.5); 74 LuoMyrkkysieni(-50.0, Level.Bottom + 12.5); 75 LuoMyrkkysieni(0.0, Level.Bottom + 12.5); 76 LuoMyrkkysieni(100.0, Level.Bottom + 112.0); 77 // Tasojen tekeminen -- Tason koko: 23 x 9 78 LuoTaso(-150, Level.Bottom + 40.0); 79 LuoTaso(-100, Level.Bottom + 40.0); 80 LuoTaso(-20, Level.Bottom + 60.0); 81 LuoTaso(20, Level.Bottom + 100.0); 82 LuoTaso(Level.Right - 60, Level.Bottom + 10.0); 83 LuoTaso(Level.Right - 20, Level.Bottom + 50.0); 84 LuoTaso(Level.Right - 60, Level.Bottom + 90.0); 85 LuoTaso(Level.Right - 120, Level.Bottom + 130.0); 86 LuoTaso(Level.Right - 150, Level.Bottom + 170.0); 87 LuoTaso(Level.Right - 173, Level.Bottom + 170.0); 88 LuoTaso(Level.Right - 196, Level.Bottom + 170.0); 89 LuoTaso(Level.Right - 219, Level.Bottom + 220.0); 90 LuoTaso(Level.Right - 262, Level.Bottom + 270.0); 91 LuoTaso(Level.Right - 350, Level.Bottom + 270.0); 92 LuoTaso(Level.Right - 390, Level.Bottom + 310.0); 93 LuoLiikkuvaTaso(Level.Right - 530, Level.Bottom + 310.0); 94 LuoTaso(Level.Right - 560, Level.Bottom + 310.0); 95 // Kolikon tekeminen -- Kolikon koko: 12 x 12 96 LuoKolikko(-150.0, Level.Bottom + 53.0, "kolikko"); 97 LuoKolikko(-100.0, Level.Bottom + 53.0, "kolikko"); 98 LuoKolikko(20.0, Level.Bottom + 115.0, "kolikko"); 99 LuoKolikko(Level.Right - 100.0, Level.Bottom + 10.0, "kolikko"); 100 LuoKolikko(Level.Right - 115.0, Level.Bottom + 10.0, "kolikko"); 101 LuoKolikko(Level.Right - 130.0, Level.Bottom + 10.0, "kolikko"); 102 LuoKolikko(Level.Right - 219.0, Level.Bottom + 232.5, "kolikko"); 103 LuoKolikko(Level.Right - 262.0, Level.Bottom + 282.5, "kolikko"); 104 Level.CreateBorders(); 105 106 107 PhysicsObject kyltti = PhysicsObject.CreateStaticObject(100, 50); 58 108 kyltti.X = -350; 59 kyltti.Y = Level.Bottom + 20.0; 60 kyltti.Color = Color.Beige; 109 kyltti.Y = Level.Bottom + 25.0; 110 kyltti.Color = Color.Transparent; 111 kyltti.Image = LoadImage("hqinfo"); 61 112 kyltti.CollisionIgnoreGroup = 1; 62 113 Add(kyltti); 63 64 } 65 66 void LuoMyrkkysieni(double x, double y) 67 { 114 } 115 116 void LuoMyrkkysieni(double x, double y) 117 { 68 118 PhysicsObject sieni = PhysicsObject.CreateStaticObject(25, 25); 69 119 sieni.Color = Color.Transparent; 70 120 sieni.Image = LoadImage("hqmyrkkysieni"); 121 sieni.Shape = Shape.Rectangle; 122 sieni.Tag = "sieni"; 71 123 sieni.X = x; 72 124 sieni.Y = y; … … 74 126 } 75 127 76 void AsetaNopeus(PlatformCharacter ukko, double nopeus) 77 { 78 ukko.Walk(nopeus); 128 void LuoKolikko(double x, double y, String tagi) 129 { 130 PhysicsObject kolikko = PhysicsObject.CreateStaticObject(12, 12); 131 kolikko.Color = Color.Transparent; 132 kolikko.Image = LoadImage("hqkolikko"); 133 kolikko.Tag = "kolikko"; 134 kolikko.X = x; 135 kolikko.Y = y; 136 Add(kolikko); 137 } 138 139 void KolikkoKeratty(PhysicsObject tormaaja, PhysicsObject kohde) 140 { 141 if (kohde.Tag.ToString() == "kolikko") 142 { 143 pistelaskuri.Value += 1; 144 kohde.Destroy(); 145 } 146 } 147 148 void SieniOsuma(PhysicsObject tormaaja, PhysicsObject kohde) 149 { 150 if (kohde.Tag.ToString() == "sieni") 151 { 152 ukko.X = -500; 153 ukko.Y = Level.Bottom; 154 } 155 } 156 157 158 IntMeter pistelaskuri; 159 160 void LuoPisteLaskuri() 161 { 162 pistelaskuri = new IntMeter(0); 163 164 Label pisteNaytto = new Label(); 165 pisteNaytto.Title = "Kolikot"; 166 pisteNaytto.X = Screen.Left + 100; 167 pisteNaytto.Y = Screen.Top - 100; 168 pisteNaytto.TextColor = Color.Black; 169 pisteNaytto.Color = Color.Transparent; 170 pisteNaytto.BindTo(pistelaskuri); 171 Add(pisteNaytto); 172 } 173 174 void AsetaNopeus(PlatformCharacter ukko, double liikkumisnopeus) 175 { 176 ukko.Walk(liikkumisnopeus); 79 177 } 80 178 … … 86 184 void AsetaKontrollit() 87 185 { 88 Keyboard.Listen(Key.Right, ButtonState.Down, AsetaNopeus, "Liikuta hahmoa oikealle", ukko, 90.0);89 Keyboard.Listen(Key.Left, ButtonState.Down, AsetaNopeus, "Liikuta hahmoa vasemmalle", ukko, - 90.0);90 Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Hyppää", ukko, 490.0);186 Keyboard.Listen(Key.Right, ButtonState.Down, AsetaNopeus, "Liikuta hahmoa oikealle", ukko, liikkumisnopeus); 187 Keyboard.Listen(Key.Left, ButtonState.Down, AsetaNopeus, "Liikuta hahmoa vasemmalle", ukko, -1 * liikkumisnopeus); 188 Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Hyppää", ukko, 650.0); 91 189 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 92 190 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 93 94 191 } 95 192 … … 100 197 taso.Y = y; 101 198 taso.Image = LoadImage("hqalusta"); 199 taso.Shape = Shape.FromImage(alusta); 102 200 Add(taso); 103 201 } 104 202 203 void LuoLiikkuvaTaso(double x, double y) 204 { 205 PhysicsObject taso = new PhysicsObject(23, 9); 206 taso.Collided += VaihdaSuunta; 207 taso.IgnoresGravity = true; 208 taso.Mass = 100000; 209 taso.Velocity = new Vector(tasonopeus, 0); 210 taso.X = x; 211 taso.Y = y; 212 taso.Image = LoadImage("hqalusta"); 213 taso.Shape = Shape.FromImage(alusta); 214 Add(taso); 215 } 216 217 void VaihdaSuunta(IPhysicsObject törmääjä, IPhysicsObject kohde) 218 { 219 220 törmääjä.Velocity *= -1; 221 } 222 105 223 } -
2012/27/JesseK/omapeli/omapeli/omapeliContent/omapeliContent.contentproj
r3490 r3550 98 98 </Compile> 99 99 </ItemGroup> 100 <ItemGroup> 101 <Compile Include="hqinfo.png"> 102 <Name>hqinfo</Name> 103 <Importer>TextureImporter</Importer> 104 <Processor>TextureProcessor</Processor> 105 </Compile> 106 </ItemGroup> 107 <ItemGroup> 108 <Compile Include="kenttatest.png"> 109 <Name>kenttatest</Name> 110 <Importer>TextureImporter</Importer> 111 <Processor>TextureProcessor</Processor> 112 </Compile> 113 </ItemGroup> 100 114 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 101 115 <!-- 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.