- Timestamp:
- 2012-07-27 11:37:27 (11 years ago)
- Location:
- 2012/30/JyriP/X/X
- Files:
-
- 9 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/30/JyriP/X/X/X/X.cs
r3782 r3789 14 14 PhysicsObject goal; 15 15 PhysicsObject border; 16 PhysicsObject floatingBridge; 17 PhysicsObject DropHouse; 16 18 GameObject qwe; 17 19 … … 26 28 { 27 29 // TODO: Kirjoita ohjelmakoodisi tähän 28 NextMap(); 30 //Kopioi tämä NextMap(); 31 MainMenu(); 29 32 IsMouseVisible = true; 30 33 IsFullScreen = true; 31 34 } 32 35 36 void MainMenu() 37 { 38 mapNum = 1; 39 ClearAll(); 40 MediaPlayer.Play("musics/theme"); 41 MultiSelectWindow mainMenu = new MultiSelectWindow("X", "Play", "Exit"); 42 mainMenu.AddItemHandler(0, MapMenu); 43 mainMenu.AddItemHandler(1, ExitGame); 44 Add(mainMenu); 45 } 46 47 void MapMenu() 48 { 49 MultiSelectWindow MapList = new MultiSelectWindow("X Maps", "Hello World", "Run!", "QWE"); 50 MapList.AddItemHandler(0, NextMap); 51 MapList.AddItemHandler(1, map2); 52 MapList.AddItemHandler(2, map3); 53 Add(MapList); 54 } 55 56 void map2() 57 { 58 mapNum = 2; 59 NextMap(); 60 } 61 62 void map3() 63 { 64 MediaPlayer.Stop(); 65 mapNum = 3; 66 NextMap(); 67 } 68 69 33 70 void NextMap() 34 71 { … … 37 74 Gravity = new Vector(0.0, -800.0); 38 75 if (mapNum == 1) CreateMap("maps/map1"); 39 else if (mapNum == 2) CreateMap("map2"); 76 else if (mapNum == 2) 77 { 78 CreateMap("maps/map2"); 79 MediaPlayer.Play("musics/music2"); 80 } 81 else if (mapNum == 3) 82 { 83 MediaPlayer.Play("musics/theme"); 84 CreateMap("maps/map3"); 85 } 86 else if (mapNum == 4) MainMenu(); 40 87 41 88 Level.Background.FitToLevel(); … … 46 93 taustaAni.Start(); 47 94 95 Camera.ZoomFactor = 0.99; 96 48 97 qwe = new GameObject(Screen.Width, Screen.Height); 49 98 qwe.X = Level.Left; 50 99 qwe.Animation = taustaAni; 51 Add(qwe, - 1);100 Add(qwe, -2); 52 101 53 102 … … 65 114 tile.SetTileMethod(Color.Yellow, CreateGoal); 66 115 tile.SetTileMethod(Color.FromHexCode("ff0000"), CreateBorder); 67 116 tile.SetTileMethod(Color.FromHexCode("a4a4a4"), CreateFloor); 117 tile.SetTileMethod(Color.FromHexCode("9f9f9f"), CreateHouseDrop); 118 tile.SetTileMethod(Color.FromHexCode("822b00"), CreateFloatingBridge); 68 119 tile.SetTileMethod(Color.FromHexCode("cccccc"), CreateBgWall); 69 120 … … 82 133 83 134 AddCollisionHandler<PlatformCharacter, PhysicsObject>(player, "break", onHitWindow); 135 AddCollisionHandler<PlatformCharacter, PhysicsObject>(player, "drop", onHitFloatingBridge); 136 AddCollisionHandler<PlatformCharacter, PhysicsObject>(player, "dropHouse", onHitDropHouse); 84 137 AddCollisionHandler<PlatformCharacter, PhysicsObject>(player, "die", onHitHouse); 85 138 AddCollisionHandler<PlatformCharacter, PhysicsObject>(player, "border", onHitHouse); … … 89 142 Keyboard.Listen(Key.LeftControl, ButtonState.Pressed, Jump, "", player, 800.0); 90 143 Keyboard.Listen(Key.R, ButtonState.Pressed, NextMap, ""); 91 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ExitGame, "");144 Keyboard.Listen(Key.Escape, ButtonState.Pressed, MainMenu, ""); 92 145 93 146 … … 96 149 ControllerOne.Listen(Button.X, ButtonState.Pressed, Jump, "", player, 800.0); 97 150 ControllerOne.Listen(Button.RightShoulder, ButtonState.Pressed, NextMap, ""); 98 ControllerOne.Listen(Button.Back, ButtonState.Pressed, ExitGame, ""); 99 Add(player); 151 ControllerOne.Listen(Button.Back, ButtonState.Pressed, MainMenu, ""); 152 ControllerOne.Listen(Button.Start, ButtonState.Pressed, MainMenu, ""); 153 Add(player, 2); 100 154 } 101 155 102 156 void onHitWindow(PlatformCharacter player, PhysicsObject window) 103 157 { 104 window.Destroy(); 158 window.IgnoresGravity = false; 159 Timer.SingleShot(1.0, delegate { window.Destroy(); }); 160 161 } 162 163 void onHitFloatingBridge(PlatformCharacter player, PhysicsObject floatingBridge) 164 { 165 floatingBridge.IgnoresGravity = false; 166 Timer.SingleShot(1.0, delegate { floatingBridge.Destroy(); }); 167 168 } 169 170 void onHitDropHouse(PlatformCharacter player, PhysicsObject floatingBridge) 171 { 172 DropHouse.IgnoresGravity = false; 173 Timer.SingleShot(3.0, delegate { DropHouse.Destroy(); }); 174 105 175 } 106 176 … … 148 218 } 149 219 220 void CreateHouseDrop(Vector pos, double width, double height) 221 { 222 DropHouse = PhysicsObject.CreateStaticObject(width, height); 223 Image DropHouseImg = Game.LoadImage("imgs/housePart"); 224 DropHouse.Position = pos; 225 DropHouse.Image = DropHouseImg; 226 DropHouse.CollisionIgnoreGroup = 1; 227 DropHouse.IgnoresGravity = true; 228 DropHouse.Mass = 50; 229 DropHouse.CanRotate = false; 230 DropHouse.Tag = "dropHouse"; 231 Add(DropHouse); 232 } 233 150 234 void CreateRoof(Vector pos, double width, double height) 151 235 { … … 160 244 void CreateWindow(Vector pos, double width, double height) 161 245 { 162 window = PhysicsObject.CreateStaticObject(16, height);246 window = new PhysicsObject(24, height); 163 247 Image windowImg = Game.LoadImage("imgs/window"); 248 window.IgnoresGravity = true; 164 249 window.Position = pos; 165 250 window.Image = windowImg; 166 251 window.CollisionIgnoreGroup = 1; 252 window.Mass = 5; 167 253 window.Tag = "break"; 168 Add(window); 254 Add(window, 1); 255 } 256 257 void CreateFloatingBridge(Vector pos, double width, double height) 258 { 259 floatingBridge = new PhysicsObject(width, height); 260 Image floatingBridgeImg = Game.LoadImage("imgs/floor"); 261 floatingBridge.IgnoresGravity = true; 262 floatingBridge.Position = pos; 263 floatingBridge.Image = floatingBridgeImg; 264 floatingBridge.CollisionIgnoreGroup = 1; 265 floatingBridge.Mass = 5; 266 floatingBridge.Tag = "drop"; 267 Add(floatingBridge, 1); 268 } 269 270 271 272 void CreateFloor(Vector pos, double width, double height) 273 { 274 PhysicsObject floor = PhysicsObject.CreateStaticObject(width, height); 275 Image floorImg = Game.LoadImage("imgs/floor"); 276 floor.Position = pos; 277 floor.Image = floorImg; 278 floor.CollisionIgnoreGroup = 1; 279 Add(floor); 169 280 } 170 281 … … 174 285 Image borderImg = Game.LoadImage("imgs/border"); 175 286 border.Position = pos; 287 border.CollisionIgnoreGroup = 0; 176 288 border.Image = borderImg; 177 289 border.Tag = "border"; … … 197 309 wall.Position = pos; 198 310 wall.Image = wallImg; 199 Add(wall );311 Add(wall, -1); 200 312 } 201 313 -
2012/30/JyriP/X/X/XContent/XContent.contentproj
r3782 r3789 189 189 </ItemGroup> 190 190 <ItemGroup> 191 <Compile Include="map2.png">192 <Name>map2</Name>193 <Importer>TextureImporter</Importer>194 <Processor>TextureProcessor</Processor>195 </Compile>196 </ItemGroup>197 <ItemGroup>198 191 <Compile Include="imgs\wall\wall.png"> 199 192 <Name>wall</Name> 200 193 <Importer>TextureImporter</Importer> 201 194 <Processor>TextureProcessor</Processor> 195 </Compile> 196 </ItemGroup> 197 <ItemGroup> 198 <Compile Include="maps\map2.png"> 199 <Name>map2</Name> 200 <Importer>TextureImporter</Importer> 201 <Processor>TextureProcessor</Processor> 202 </Compile> 203 </ItemGroup> 204 <ItemGroup> 205 <Compile Include="imgs\floor.png"> 206 <Name>floor</Name> 207 <Importer>TextureImporter</Importer> 208 <Processor>TextureProcessor</Processor> 209 </Compile> 210 </ItemGroup> 211 <ItemGroup> 212 <Compile Include="maps\map3.png"> 213 <Name>map3</Name> 214 <Importer>TextureImporter</Importer> 215 <Processor>TextureProcessor</Processor> 216 </Compile> 217 </ItemGroup> 218 <ItemGroup> 219 <Compile Include="musics\theme.mp3"> 220 <Name>theme</Name> 221 <Importer>Mp3Importer</Importer> 222 <Processor>SongProcessor</Processor> 223 </Compile> 224 </ItemGroup> 225 <ItemGroup> 226 <Compile Include="musics\music2.mp3"> 227 <Name>music2</Name> 228 <Importer>Mp3Importer</Importer> 229 <Processor>SongProcessor</Processor> 202 230 </Compile> 203 231 </ItemGroup>
Note: See TracChangeset
for help on using the changeset viewer.