source: 2012/30/JyriP/Lofen/Lofen/Lofen/Lofen.cs @ 3730

Revision 3730, 5.7 KB checked in by jymapupu, 8 years ago (diff)

Talletus.

Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class Lofen : PhysicsGame
10{
11    PhysicsObject player;
12    PhysicsObject Reaper;
13    public override void Begin()
14    {
15        Window.Title = "Lofen";
16        Start();
17       
18    }
19
20    void Start()
21    {
22        CreateBackgroundWorld();
23        CreateWorld();
24        SetControls();
25       
26    }
27
28    void CreateBackgroundWorld()
29    {
30        TileMap world = TileMap.FromLevelAsset("World/bgMap");
31        world.SetTileMethod('.', bg);
32        world.Execute(32, 32);
33    }
34
35    void bg(Vector pos, double width, double height)
36    {
37        PhysicsObject tileBG = PhysicsObject.CreateStaticObject(width, height);
38        tileBG.IgnoresCollisionResponse = true;
39
40        Image textureGrass = Game.LoadImage("World/grass");
41        tileBG.Image = textureGrass;
42
43        tileBG.Position = pos;
44        tileBG.Shape = Shape.Rectangle;
45
46
47
48        Add(tileBG, -1);
49    }
50
51    void CreateWorld()
52    {
53        TileMap world = TileMap.FromLevelAsset("map");
54       
55        //Ympäristö
56        world.SetTileMethod('.', CreateGrass);
57        world.SetTileMethod('*', CreateRock);
58        world.SetTileMethod('t', CreateTree);
59
60        //Rakennukset
61        world.SetTileMethod('/', CreateHouseRoofL);
62        world.SetTileMethod('\\', CreateHouseRoofR);
63        world.SetTileMethod('[', CreateHouseBottomL);
64        world.SetTileMethod(']', CreateHouseBottomR);
65       
66        //vihut
67        world.Execute(32, 32);
68       
69        player = CreatePlayer(Level.Left + 20, 0);
70
71        Reaper = CreateReaper(Level.Bottom - 20, 0);
72    }
73
74    //Player, NPC
75    PhysicsObject CreatePlayer(double x, double y)
76    {
77        PhysicsObject Player = new PhysicsObject(21, 32);
78        Player.Mass = 1;
79
80        Image[] playerAni = Game.LoadImages("sprites/player/player1", "sprites/player/player2", "sprites/player/player3", "sprites/player/player4");
81        Player.Animation = new Animation(playerAni);
82        Player.Animation.FPS = 10;
83        Player.Animation.Start();
84        Player.CanRotate = false;
85
86        Add(Player, 1);
87        return Player;
88    }
89
90    PhysicsObject CreateReaper(double x, double y)
91    {
92        PhysicsObject Reaper = new PhysicsObject(21, 32);
93        Reaper.Mass = 1;
94
95        Image[] ReaperAni = Game.LoadImages("Reaper", "Reaper2");
96        Reaper.Animation = new Animation(ReaperAni);
97        Reaper.Animation.FPS = 5;
98        Reaper.Animation.Start();
99        Reaper.CanRotate = false;
100
101        Add(Reaper, 1);
102        return Reaper;
103    }
104
105
106    //Ympäristö
107    void CreateGrass(Vector pos, double width, double height)
108    {
109        PhysicsObject tile = PhysicsObject.CreateStaticObject(width, height);
110        tile.IgnoresCollisionResponse = true;
111
112        Image textureGrass = Game.LoadImage("World/grass");
113        tile.Image = textureGrass;
114
115        tile.Position = pos;
116        tile.Shape = Shape.Rectangle;
117
118
119
120        Add(tile);
121    }
122   
123    void CreateRock(Vector pos, double width, double height)
124    {
125        PhysicsObject tile = PhysicsObject.CreateStaticObject(width, height);
126        tile.CollisionIgnoreGroup = 1;
127
128        Image textureGrass = Game.LoadImage("World/rock");
129        tile.Image = textureGrass;
130
131        tile.Position = pos;
132        tile.Shape = Shape.Rectangle;
133
134
135
136        Add(tile);
137    }
138    void CreateTree(Vector pos, double width, double height)
139    {
140        PhysicsObject tile = PhysicsObject.CreateStaticObject(width, height);
141        tile.CollisionIgnoreGroup = 1;
142
143        Image textureGrass = Game.LoadImage("World/tree");
144        tile.Image = textureGrass;
145
146        tile.Position = pos;
147        tile.Shape = Shape.Rectangle;
148
149        Add(tile);
150    }
151
152    //Ympäristö Loppuu
153   
154    //Rakennukset
155    void CreateHouseRoofL(Vector pos, double width, double height)
156    {
157        PhysicsObject tile = PhysicsObject.CreateStaticObject(width, height);
158        tile.CollisionIgnoreGroup = 1;
159
160        Image textureGrass = Game.LoadImage("World/houseRoofL");
161        tile.Image = textureGrass;
162
163        tile.Position = pos;
164        tile.Shape = Shape.Rectangle;
165
166
167
168        Add(tile);
169    }
170
171    void CreateHouseRoofR(Vector pos, double width, double height)
172    {
173        PhysicsObject tile = PhysicsObject.CreateStaticObject(width, height);
174        tile.CollisionIgnoreGroup = 1;
175
176        Image textureGrass = Game.LoadImage("World/houseRoofR");
177        tile.Image = textureGrass;
178
179        tile.Position = pos;
180        tile.Shape = Shape.Rectangle;
181
182
183
184        Add(tile);
185    }
186
187    void CreateHouseBottomL(Vector pos, double width, double height)
188    {
189        PhysicsObject tile = PhysicsObject.CreateStaticObject(width, height);
190        tile.CollisionIgnoreGroup = 1;
191
192        Image textureGrass = Game.LoadImage("World/houseBottomL");
193        tile.Image = textureGrass;
194
195        tile.Position = pos;
196        tile.Shape = Shape.Rectangle;
197
198
199
200        Add(tile);
201    }
202
203    void CreateHouseBottomR(Vector pos, double width, double height)
204    {
205        PhysicsObject tile = PhysicsObject.CreateStaticObject(width, height);
206        tile.CollisionIgnoreGroup = 1;
207
208        Image textureGrass = Game.LoadImage("World/houseBottomR");
209        tile.Image = textureGrass;
210
211        tile.Position = pos;
212        tile.Shape = Shape.Rectangle;
213
214
215
216        Add(tile);
217    }
218   
219    //Rakennukset Loppuu
220   
221
222    void SetControls()
223    {
224        IsMouseVisible = true;
225        Mouse.Listen(MouseButton.Left, ButtonState.Pressed, Move, "");
226    }
227
228    void Move()
229    {
230        player.MoveTo(Mouse.PositionOnWorld, 50);
231    }
232
233}
Note: See TracBrowser for help on using the repository browser.