플래시 게임 개발 도구롤 스크린

게임 중의 지도는 일반적으로 캐릭터에 따라 굴러다니며 도구를 정리하여 생활하기 편리하게 해야 한다.
package  {
	import flash.display.*;
	import flash.geom.Point;

	public class Scroll {
		
		// Constants:
		// Public Properties:
		// Private Properties:
		
		// Initialization:
		public function Scroll() { }
	
	
		// Public Methods:
		// Protected Methods:
		
		/**
		    
		*/
		public static function scrollWithHero(bg:DisplayObject,playerDo2d:DisplayObject,edgeDistanceX:Number = 200,edgeDistanceY:Number = 200):void{
			//   x,y  
			if(edgeDistanceX > bg.stage.stageWidth/2){
				edgeDistanceX = bg.stage.stageWidth/2;
			}
			if(edgeDistanceY > bg.stage.stageHeight/2){
				edgeDistanceY = bg.stage.stageHeight/2;
			}
			//hero.mc       
			var stagePositionX:Number = bg.x + playerDo2d.x;
			var stagePositionY:Number = bg.y + playerDo2d.y;
			
			var rightEdge:Number = bg.stage.stageWidth - edgeDistanceX;
			var leftEdge:Number = edgeDistanceX;
			var topEdge:Number = edgeDistanceY;
			var bottomEdge:Number = bg.stage.stageHeight - edgeDistanceY;
			if(stagePositionX > rightEdge){
				bg.x -= stagePositionX-rightEdge;				//      ,           
				if(bg.x < bg.stage.stageWidth - bg.width)		//            
					bg.x = bg.stage.stageWidth - bg.width;
			}
			if(stagePositionX < leftEdge){
				bg.x += (leftEdge-stagePositionX);		//      ,          
				if(bg.x >0) 							//               
					bg.x = 0;
			}
			//y  
			/**
			  ,   y        
			      ,            
			           
			*/
			if(stagePositionY > bottomEdge){			
				bg.y -= stagePositionY - bottomEdge;
				if(bg.y < -(bg.height - bg.stage.stageHeight)){
					bg.y = -(bg.height - bg.stage.stageHeight);
				}
			}else if(stagePositionY < topEdge){			
				/*
				  ,   y       
				    ,             
				          
				*/
				bg.y += topEdge - stagePositionY;			
				if(bg.y >0){
					bg.y = 0;
				}
			}
		}
	}
	
}

파라미터는 쉽게 알 수 있다. 1: 배경의 가시적 대상, 2: 역할...

좋은 웹페이지 즐겨찾기