|  | @@ -141,15 +141,18 @@ enum MetaEvent {
 | 
	
		
			
			| 141 | 141 |  
 | 
	
		
			
			| 142 | 142 |  struct MainState {
 | 
	
		
			
			| 143 | 143 |      frame_i: u32,
 | 
	
		
			
			| 144 |  | -    scene_items_sprite_batch: graphics::spritebatch::SpriteBatch,
 | 
	
		
			
			|  | 144 | +    sprite_sheet_batch: graphics::spritebatch::SpriteBatch,
 | 
	
		
			
			|  | 145 | +    map_batch: graphics::spritebatch::SpriteBatch,
 | 
	
		
			
			| 145 | 146 |      scene_items: Vec<SceneItem>,
 | 
	
		
			
			| 146 | 147 |      physics_events: Vec<PhysicEvent>,
 | 
	
		
			
			| 147 | 148 |  }
 | 
	
		
			
			| 148 | 149 |  
 | 
	
		
			
			| 149 | 150 |  impl MainState {
 | 
	
		
			
			| 150 | 151 |      fn new(ctx: &mut Context) -> GameResult<MainState> {
 | 
	
		
			
			| 151 |  | -        let image = graphics::Image::new(ctx, "/sprite_sheet.png").unwrap();
 | 
	
		
			
			| 152 |  | -        let batch = graphics::spritebatch::SpriteBatch::new(image);
 | 
	
		
			
			|  | 152 | +        let sprite_sheet = graphics::Image::new(ctx, "/sprite_sheet.png").unwrap();
 | 
	
		
			
			|  | 153 | +        let sprite_sheet_batch = graphics::spritebatch::SpriteBatch::new(sprite_sheet);
 | 
	
		
			
			|  | 154 | +        let map = graphics::Image::new(ctx, "/map1bg.png").unwrap();
 | 
	
		
			
			|  | 155 | +        let map_batch = graphics::spritebatch::SpriteBatch::new(map);
 | 
	
		
			
			| 153 | 156 |  
 | 
	
		
			
			| 154 | 157 |          let mut scene_items = vec![];
 | 
	
		
			
			| 155 | 158 |          for x in 0..1 {
 | 
	
	
		
			
			|  | @@ -169,7 +172,8 @@ impl MainState {
 | 
	
		
			
			| 169 | 172 |  
 | 
	
		
			
			| 170 | 173 |          let s = MainState {
 | 
	
		
			
			| 171 | 174 |              frame_i: 0,
 | 
	
		
			
			| 172 |  | -            scene_items_sprite_batch: batch,
 | 
	
		
			
			|  | 175 | +            sprite_sheet_batch,
 | 
	
		
			
			|  | 176 | +            map_batch,
 | 
	
		
			
			| 173 | 177 |              scene_items,
 | 
	
		
			
			| 174 | 178 |              physics_events: vec![],
 | 
	
		
			
			| 175 | 179 |          };
 | 
	
	
		
			
			|  | @@ -294,7 +298,7 @@ impl event::EventHandler for MainState {
 | 
	
		
			
			| 294 | 298 |          let mut mesh_builder = MeshBuilder::new();
 | 
	
		
			
			| 295 | 299 |  
 | 
	
		
			
			| 296 | 300 |          for scene_item in self.scene_items.iter() {
 | 
	
		
			
			| 297 |  | -            self.scene_items_sprite_batch.add(
 | 
	
		
			
			|  | 301 | +            self.sprite_sheet_batch.add(
 | 
	
		
			
			| 298 | 302 |                  scene_item
 | 
	
		
			
			| 299 | 303 |                      .as_draw_param(scene_item.current_frame as f32)
 | 
	
		
			
			| 300 | 304 |                      .dest(scene_item.position.clone()),
 | 
	
	
		
			
			|  | @@ -307,11 +311,21 @@ impl event::EventHandler for MainState {
 | 
	
		
			
			| 307 | 311 |                  graphics::WHITE,
 | 
	
		
			
			| 308 | 312 |              );
 | 
	
		
			
			| 309 | 313 |          }
 | 
	
		
			
			|  | 314 | +        self.map_batch.add(
 | 
	
		
			
			|  | 315 | +            graphics::DrawParam::new()
 | 
	
		
			
			|  | 316 | +            .src(graphics::Rect::new(0.0, 0.0, 1.0, 1.0))
 | 
	
		
			
			|  | 317 | +            .dest(na::Point2::new(0.0, 0.0))
 | 
	
		
			
			|  | 318 | +        );
 | 
	
		
			
			| 310 | 319 |  
 | 
	
		
			
			| 311 | 320 |          let mesh = mesh_builder.build(ctx)?;
 | 
	
		
			
			| 312 | 321 |          graphics::draw(
 | 
	
		
			
			| 313 | 322 |              ctx,
 | 
	
		
			
			| 314 |  | -            &self.scene_items_sprite_batch,
 | 
	
		
			
			|  | 323 | +            &self.map_batch,
 | 
	
		
			
			|  | 324 | +            graphics::DrawParam::new().dest(na::Point2::new(0.0, 0.0)),
 | 
	
		
			
			|  | 325 | +        )?;
 | 
	
		
			
			|  | 326 | +        graphics::draw(
 | 
	
		
			
			|  | 327 | +            ctx,
 | 
	
		
			
			|  | 328 | +            &self.sprite_sheet_batch,
 | 
	
		
			
			| 315 | 329 |              graphics::DrawParam::new().dest(na::Point2::new(0.0, 0.0)),
 | 
	
		
			
			| 316 | 330 |          )?;
 | 
	
		
			
			| 317 | 331 |          graphics::draw(
 | 
	
	
		
			
			|  | @@ -320,7 +334,7 @@ impl event::EventHandler for MainState {
 | 
	
		
			
			| 320 | 334 |              graphics::DrawParam::new().dest(na::Point2::new(0.0, 0.0)),
 | 
	
		
			
			| 321 | 335 |          )?;
 | 
	
		
			
			| 322 | 336 |  
 | 
	
		
			
			| 323 |  | -        self.scene_items_sprite_batch.clear();
 | 
	
		
			
			|  | 337 | +        self.sprite_sheet_batch.clear();
 | 
	
		
			
			| 324 | 338 |          graphics::present(ctx)?;
 | 
	
		
			
			| 325 | 339 |  
 | 
	
		
			
			| 326 | 340 |          println!("FPS: {}", ggez::timer::fps(ctx));
 |