?? user_right_cardsview.as.svn-base
字號(hào):
/**
* Project: 整副撲克牌 顯示對(duì)象(可視對(duì)象)
* Author : dmh2002
* Blog:http://dmh2002.com/
* QQ:122054933 MSN:shangxinyu2002@msn.com
* Date : 2008.04.10
*/
package com.dmh2002.games.cardgame.cairngorm.view
{
import com.dmh2002.games.cardgame.classes.CardImageClasses;
import com.dmh2002.games.cardgame.cairngorm.model.CardGameModelLoactor;
import com.dmh2002.util.MyArray;
import com.dmh2002.util.MyRandom;
import flash.events.TimerEvent;
import flash.utils.Timer;
import mx.containers.Canvas;
import mx.containers.HBox;
public class User_Right_CardsView extends HBox
{
private var _model:CardGameModelLoactor = CardGameModelLoactor.getInstance();
//整副牌數(shù)組的數(shù)據(jù)源,僅在構(gòu)造時(shí)創(chuàng)建,此后,對(duì)撲克牌的洗牌或者重新游戲時(shí)使用的為此數(shù)據(jù)的復(fù)制
private var fullCardsArraySource:Array
private var fullCardsArray:Array
//整個(gè)洗牌過(guò)程中shuffleTimer所需要使用的合計(jì)時(shí)間
private const shuffleTimerTotalDelay:uint = 1000
//放牌的地方
private var tmp:Canvas = new Canvas()
//構(gòu)造函數(shù)
public function User_Right_CardsView():void
{
super()
this.height = _model.LeftRightCardSize_height;
this.width = _model.LeftRightCardSize_width;
//設(shè)置擁有整副牌的數(shù)組數(shù)據(jù)源
fullCardsArraySource = getFullCardsArray()
//this.setStyle("borderStyle","inset")
this.setStyle("verticalAlign","middle")
this.setStyle("horizontalAlign","center")
this.setStyle("horizontalGap",0)
this.addChild(tmp)
//開(kāi)始洗牌
shuffle()
//var oneCard:SingleCardView=new SingleCardView(_cardsImage.CLUBS_A)
//oneCard.isShowCard = true
//this.addChild(oneCard);
}
/**=====================
*=======公開(kāi)方法========
*======================
*/
//洗牌
public function shuffle():void
{
//清空當(dāng)前顯示對(duì)象
cleanAllDisplayObject()
//克隆數(shù)組
fullCardsArray = MyArray.clone(fullCardsArraySource) as Array
//將fullCardsArray數(shù)組中的數(shù)據(jù)隨機(jī)打亂
fullCardsArray = MyRandom.randomArray(fullCardsArray)
/** 根據(jù)時(shí)間將撲克牌一張一張的加入到當(dāng)前顯示對(duì)象中 */
//
var _repeatCount:uint = fullCardsArray.length
var _delay:uint = Math.round(shuffleTimerTotalDelay/_repeatCount)
var shuffleTimer:Timer = new Timer(_delay,_repeatCount)
shuffleTimer.addEventListener(TimerEvent.TIMER,onShuffleTimer)
shuffleTimer.start()
}
//清空當(dāng)前顯示對(duì)象
public function cleanAllDisplayObject():void
{
trace("====cleanAllDisplayObject======")
var count:int =this.tmp.numChildren;
trace(count)
for (var i:uint=0 ;i<count ; i++)
{
this.tmp.removeChildAt(0)
trace(i)
}
trace("====end======")
}
/**=====================
*=======私有方法========
*======================
*/
//洗牌時(shí),將每張牌加入addChild到this中
private function onShuffleTimer(e:TimerEvent):void
{
var _num:uint = e.target.currentCount
var _singleCardView:SingleCardView = fullCardsArray[_num-1] as SingleCardView
_singleCardView.y = _num*15
_singleCardView.isShowCard = true
this.tmp.addChild(_singleCardView)
}
//根據(jù)CardImageClasses中的牌面Class來(lái)生成擁有所有牌的數(shù)組
private function getFullCardsArray():Array
{
//設(shè)置臨時(shí)數(shù)組
var _tmpArray:Array = new Array();
//獲取全部牌面Class數(shù)組
var allCardImageArray:Array = new CardImageClasses().getAllCardBGImageArray();
for( var i:uint=0; i<11; i++)
{
var _singleCardView:SingleCardView = new SingleCardView(allCardImageArray[i])
_tmpArray.push(_singleCardView)
}
return _tmpArray;
}
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -