forked from: forked from: forked from: flash on 2009-9-7

by hacker_yk666qry forked from forked from: forked from: flash on 2009-9-7 (diff: 100)
♥0 | Line 70 | Modified 2010-01-09 14:15:57 | MIT License
play

ActionScript3 source code

/**
 * Copyright hacker_yk666qry ( http://wonderfl.net/user/hacker_yk666qry )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/5dJl
 */

// forked from hacker_yk666qry's forked from: forked from: forked from: flash on 2009-9-7
package {
	import flash.events.MouseEvent;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
    import flash.display.Sprite;
    public class PagerSample extends Sprite {
    	
    		private var _pager:Pager;
    		private var _numField:TextField;
    		
    		//コンストラクタ
        public function PagerSample() {
        		
        		_pager = new Pager(60);
        		
        		_numField = new TextField();
        		_numField.autoSize = TextFieldAutoSize.LEFT;
        		_numField.border = true;
        		addChild(_numField);
        		
        		var btnPrev:Sprite = new PageButton("PREV");
        		var btnNext:Sprite = new PageButton("NEXT");
        		
        		btnPrev.x = 70;
        		btnNext.x = 110;
        		
        		addChild(btnPrev);
        		addChild(btnNext);
        		
        		btnPrev.addEventListener( MouseEvent.CLICK, prevPage);
        		btnNext.addEventListener( MouseEvent.CLICK, nextPage );
        		
        		updatePager();
        }
        
        //max, minの説明
        //http://www.openspc2.org/reibun/FlashMX2004/ActionScript/Math/009/index.html
        private function prevPage(e:MouseEvent):void { 
        		_pager.prev();
        		
        		updatePager();
        }
        
        private function nextPage(e:MouseEvent):void {
        		_pager.next();
        		
        		updatePager();
        }
        
        private function updatePager():void {
        		//_numField.text = String(_pager.getCurrentPage() + 1 ) + "/" + _pager.getTotalPages() + " Page";
			//getterを使った場合
        		_numField.text = String( _pager.currentPage +1 ) + "/" + _pager.totalPages + " Page";
        }
    }
}




import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;

class PageButton extends Sprite {
	
	//コンストラクタ
	//コンストラクタ
	public function PageButton( label:String ) {
		var _tf:TextField = new TextField();
		_tf.autoSize = TextFieldAutoSize.LEFT;
		_tf.text = label;
		addChild(_tf);
		buttonMode = true;
		mouseChildren = false;
	}
}



class Pager {
	private var _currentPage:int;
	private var _totalPages:int;
	
	//コンストラクタ
	public function Pager(totalPages:int) {
		_currentPage = 0;
		_totalPages = totalPages;
	}
	
	//max(num1, num2):num1とnum2の数字を比較して大きい値をかえす
	public function prev():void {
		_currentPage = Math.max ( 0, _currentPage - 1);
	}
	
	//min(num1, num2):num1とnum2の数字を比較して小さい値をかえす
	public function next():void {
		_currentPage = Math.min ( _totalPages - 1, _currentPage + 1 );
	}

	public function get currentPage():int {
		return _currentPage;   
	}
	public function get totalPages():int {
		return _totalPages;   
	}
}