リプタクのもう覚えられません
Google
Web サイト内
topmemo ▶ 大きい画像をスクロール表示2

ActionScript

大きい画像をスクロール表示2

大きい画像をスクロール表示に対し表示位置を見直したもの。

【サンプル】ドラッグ可

JavaScriptを有効にし、最新のFlashPlayerをインストールお願いしますGet Adobe Flash player



【as3】

//---------------------------------------------------------------------------------変数
var gazo_mc:Cla_Gazo = new Cla_Gazo();//画像表示用オブジェクト
var waku_mc:Cla_Waku = new Cla_Waku();//表示エリア枠

var down_x:int = 0;//移動前のマウス座標X
var down_y:int = 0;//移動前のマウス座標Y

var ido_x:int=0;//移動長さx
var ido_y:int=0;//移動長さy


//---------------------------------------------------------------------------------初期設定
func_Const();
function func_Const(){
	
	//配置
	addChild(gazo_mc);
	gazo_mc.x = 300;
	gazo_mc.y = 200;
	addChild(waku_mc);
	
	//画像セット
	func_set_p();
	
	//移動長さ表示
	func_ido_text()
	
	//マウスダウンイベントリスナー登録
	stage.addEventListener(MouseEvent.MOUSE_DOWN,func_stage_MOUSE_DOWN);
}


//---------------------------------------------------------------------------------マウスダウン
function func_stage_MOUSE_DOWN(e:MouseEvent):void{
	
	//マウス座標取得
	down_x = mouseX;
	down_y = mouseY;
		
	
	//リスナー登録
	stage.addEventListener(MouseEvent.MOUSE_MOVE,func_stage_MOUSE_MOVE);//マウスムーブ
	stage.addEventListener(MouseEvent.MOUSE_UP,func_stage_stop);//マウスアップ
}

//---------------------------------------------------------------------------------マウスムーブ
function func_stage_MOUSE_MOVE(e:MouseEvent):void{
	
	//移動長さ計算
	ido_x += mouseX-down_x;
	ido_y += mouseY-down_y;
	
	//画像位置調整
	var move_x:int = ido_x % 64;
	var move_y:int = ido_y % 64;
	gazo_mc.x = 300 + move_x;
	gazo_mc.y = 200 + move_y;
	
	func_set_p();//画像入れ替え
	
	func_ido_text();//移動長さ表示
	
	e.updateAfterEvent();//強制描画
	
	//直前マウス座標際取得
	down_x = mouseX;
	down_y = mouseY;
}

//---------------------------------------------------------------------------------マウスアップ
function func_stage_stop(e:MouseEvent):void{
	//リスナー解除
	stage.removeEventListener(MouseEvent.MOUSE_MOVE,func_stage_MOUSE_MOVE);//マウスムーブ
	stage.removeEventListener(MouseEvent.MOUSE_UP,func_stage_stop);//マウスアップ
}

//---------------------------------------------------------------------------------画像入れ替え
function func_set_p(){
	
	var cntX:int=0;//配列取得x番号
	var cntY:int=0;//配列取得y番号
	
	cntX = int(ido_x / 64 * -1);
	cntY = int(ido_y / 64 * -1);
	
	gazo_mc.tf_1.text = "x=" + String(cntX) +  "\ny=" + String(cntY);
	gazo_mc.tf_2.text = "x=" + String(cntX+1) +  "\ny=" + String(cntY);
	gazo_mc.tf_3.text = "x=" + String(cntX+2) +  "\ny=" + String(cntY);
	gazo_mc.tf_4.text = "x=" + String(cntX+3) +  "\ny=" + String(cntY);
	gazo_mc.tf_5.text = "x=" + String(cntX+4) +  "\ny=" + String(cntY);
	gazo_mc.tf_6.text = "x=" + String(cntX+5) +  "\ny=" + String(cntY);
	gazo_mc.tf_7.text = "x=" + String(cntX) +  "\ny=" + String(cntY+1);
	gazo_mc.tf_8.text = "x=" + String(cntX+1) +  "\ny=" + String(cntY+1);
	gazo_mc.tf_9.text = "x=" + String(cntX+2) +  "\ny=" + String(cntY+1);
	gazo_mc.tf_10.text = "x=" + String(cntX+3) +  "\ny=" + String(cntY+1);
	gazo_mc.tf_11.text = "x=" + String(cntX+4) +  "\ny=" + String(cntY+1);
	gazo_mc.tf_12.text = "x=" + String(cntX+5) +  "\ny=" + String(cntY+1);
	gazo_mc.tf_13.text = "x=" + String(cntX) +  "\ny=" + String(cntY+2);
	gazo_mc.tf_14.text = "x=" + String(cntX+1) +  "\ny=" + String(cntY+2);
	gazo_mc.tf_15.text = "x=" + String(cntX+2) +  "\ny=" + String(cntY+2);
	gazo_mc.tf_16.text = "x=" + String(cntX+3) +  "\ny=" + String(cntY+2);
	gazo_mc.tf_17.text = "x=" + String(cntX+4) +  "\ny=" + String(cntY+2);
	gazo_mc.tf_18.text = "x=" + String(cntX+5) +  "\ny=" + String(cntY+2);
	gazo_mc.tf_19.text = "x=" + String(cntX) +  "\ny=" + String(cntY+3);
	gazo_mc.tf_20.text = "x=" + String(cntX+1) +  "\ny=" + String(cntY+3);
	gazo_mc.tf_21.text = "x=" + String(cntX+2) +  "\ny=" + String(cntY+3);
	gazo_mc.tf_22.text = "x=" + String(cntX+3) +  "\ny=" + String(cntY+3);
	gazo_mc.tf_23.text = "x=" + String(cntX+4) +  "\ny=" + String(cntY+3);
	gazo_mc.tf_24.text = "x=" + String(cntX+5) +  "\ny=" + String(cntY+3);
}

//---------------------------------------------------------------------------------移動長さ表示
function func_ido_text(){
	waku_mc.ido_tf.text = "X=" + String(ido_x) + "px" + "\nY=" + String(ido_y) + "px";
}






【サンプル2】ドラッグ可

JavaScriptを有効にし、最新のFlashPlayerをインストールお願いしますGet Adobe Flash player

last update 2011.3.22
参考・出典等
「特に無し」

▲page top

topmemogalleryblogtestaboutlinksmail
Copylight(C)2008-2011 Riptac. All Rights Reserved.