Changeset 3789


Ignore:
Timestamp:
2012-07-27 11:37:27 (11 years ago)
Author:
anlakane
Message:

Talletus.

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  
    1414    PhysicsObject goal; 
    1515    PhysicsObject border; 
     16    PhysicsObject floatingBridge; 
     17    PhysicsObject DropHouse; 
    1618    GameObject qwe; 
    1719 
     
    2628    { 
    2729        // TODO: Kirjoita ohjelmakoodisi tähän 
    28         NextMap(); 
     30        //Kopioi tämä NextMap(); 
     31        MainMenu(); 
    2932        IsMouseVisible = true; 
    3033        IsFullScreen = true; 
    3134    } 
    3235 
     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 
    3370    void NextMap() 
    3471    { 
     
    3774        Gravity = new Vector(0.0, -800.0); 
    3875        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(); 
    4087 
    4188        Level.Background.FitToLevel(); 
     
    4693        taustaAni.Start(); 
    4794 
     95        Camera.ZoomFactor = 0.99; 
     96 
    4897        qwe = new GameObject(Screen.Width, Screen.Height); 
    4998        qwe.X = Level.Left; 
    5099        qwe.Animation = taustaAni; 
    51         Add(qwe, -1); 
     100        Add(qwe, -2); 
    52101 
    53102         
     
    65114        tile.SetTileMethod(Color.Yellow, CreateGoal); 
    66115        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); 
    68119        tile.SetTileMethod(Color.FromHexCode("cccccc"), CreateBgWall); 
    69120 
     
    82133 
    83134        AddCollisionHandler<PlatformCharacter, PhysicsObject>(player, "break", onHitWindow); 
     135        AddCollisionHandler<PlatformCharacter, PhysicsObject>(player, "drop", onHitFloatingBridge); 
     136        AddCollisionHandler<PlatformCharacter, PhysicsObject>(player, "dropHouse", onHitDropHouse); 
    84137        AddCollisionHandler<PlatformCharacter, PhysicsObject>(player, "die", onHitHouse); 
    85138        AddCollisionHandler<PlatformCharacter, PhysicsObject>(player, "border", onHitHouse); 
     
    89142        Keyboard.Listen(Key.LeftControl, ButtonState.Pressed, Jump, "", player, 800.0); 
    90143        Keyboard.Listen(Key.R, ButtonState.Pressed, NextMap, ""); 
    91         Keyboard.Listen(Key.Escape, ButtonState.Pressed, ExitGame, ""); 
     144        Keyboard.Listen(Key.Escape, ButtonState.Pressed, MainMenu, ""); 
    92145 
    93146 
     
    96149        ControllerOne.Listen(Button.X, ButtonState.Pressed, Jump, "", player, 800.0); 
    97150        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); 
    100154    } 
    101155 
    102156    void onHitWindow(PlatformCharacter player, PhysicsObject window) 
    103157    { 
    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 
    105175    } 
    106176 
     
    148218    } 
    149219 
     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 
    150234    void CreateRoof(Vector pos, double width, double height) 
    151235    { 
     
    160244    void CreateWindow(Vector pos, double width, double height) 
    161245    { 
    162         window = PhysicsObject.CreateStaticObject(16, height); 
     246        window = new PhysicsObject(24, height); 
    163247        Image windowImg = Game.LoadImage("imgs/window"); 
     248        window.IgnoresGravity = true; 
    164249        window.Position = pos; 
    165250        window.Image = windowImg; 
    166251        window.CollisionIgnoreGroup = 1; 
     252        window.Mass = 5; 
    167253        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); 
    169280    } 
    170281 
     
    174285        Image borderImg = Game.LoadImage("imgs/border"); 
    175286        border.Position = pos; 
     287        border.CollisionIgnoreGroup = 0; 
    176288        border.Image = borderImg; 
    177289        border.Tag = "border"; 
     
    197309        wall.Position = pos; 
    198310        wall.Image = wallImg; 
    199         Add(wall); 
     311        Add(wall, -1); 
    200312    } 
    201313 
  • 2012/30/JyriP/X/X/XContent/XContent.contentproj

    r3782 r3789  
    189189  </ItemGroup> 
    190190  <ItemGroup> 
    191     <Compile Include="map2.png"> 
    192       <Name>map2</Name> 
    193       <Importer>TextureImporter</Importer> 
    194       <Processor>TextureProcessor</Processor> 
    195     </Compile> 
    196   </ItemGroup> 
    197   <ItemGroup> 
    198191    <Compile Include="imgs\wall\wall.png"> 
    199192      <Name>wall</Name> 
    200193      <Importer>TextureImporter</Importer> 
    201194      <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> 
    202230    </Compile> 
    203231  </ItemGroup> 
Note: See TracChangeset for help on using the changeset viewer.