1.android
原始碼——交叉相合動畫
左右兩邊分別以若干個矩形以交替相合的形式合併 控制螢幕關閉
通過兩個for
迴圈 1 3 5 7 9
繪製螢幕左方矩形
2 4 6 8 10
繪製螢幕右放矩形 在遊戲更新中計算矩形移動的座標 然後左邊的矩形 分別向右延伸 右邊的矩形分別向左延伸 這樣就可以實現矩形的交叉合併動畫。 /
、**交錯的實現矩形相交
**/
int count = (mscreenheight / random_type_2_range);
for (int i = 0; i < count; i += 2)
for (int i = 1; i < count; i += 2)
繪製矩形的方法/、
** * 繪製乙個矩形
* @param canvas
* @param color
* @param x
* @param y
* @param w
* @param h */
public void drawfillrect(canvas canvas, int color, int x, int y, int w, int h)
2.android原始碼——扇形合併動畫
以扇形的轉圈的形式來控制螢幕關閉
在遊戲更新中一直更新扇形繪製的區域 根據繪製區域的引數將扇形繪製出來 實現扇形合併的動畫效果。/、
/rectf
為扇形繪製區域 為了讓扇形完全填充螢幕所以將它的區域擴大了
100畫素
rectf rectf = new rectf(- random_type_3_range, - random_type_3_range,mscreenwidth+random_type_3_range,mscreenheight + random_type_3_range); //
將扇形繪製出來
drawfillcircle(mcanvas, color.black,rectf,0,s_effrange,true);
繪製扇形的方法
/**
* 繪製乙個扇形
* @param canvas
* @param color
* @param oval
* @param startangle
* @param sweepangle
* @param usecenter */
public void drawfillcircle(canvas canvas, int color, rectf oval, int startangle, int sweepangle, boolean usecenter)
3.android原始碼——百葉窗合併動畫
螢幕中若干的矩形慢慢放大的形式關閉遊戲螢幕
在螢幕中用雙for
迴圈繪製出若干的矩形 在遊戲更新中更新矩形繪製的寬與高 直到將螢幕完全填充。這樣就可以實現遊戲百葉窗合併動畫的效果啦。
/**百葉窗效果利用雙
for迴圈 修改每個矩形繪製的寬度
**/
for (int i = 0; i <= (mscreenwidth / random_type_0_range); i++) }
4.android原始碼——滾動水紋矩形合併動畫
利用矩形的滾動實現水紋向右關閉遊戲螢幕效果。
大家仔細觀察上圖這個動畫效果 其實就是4
個矩形 從右到左 前
3個矩形的大小是固定的中間的間隙也是固定的 最左邊的矩形才為真正關閉螢幕的矩形 更新遊戲介面時
4個矩形同時向右方移動 前
3個只移動座標 最後乙個才是真正填充的矩形。這樣就可以實現滾動的水紋的效果了。
/**水紋效果其實繪製了
4個矩形 中間留一些縫隙
**/
drawfillrect(mcanvas, color.black, 0, 0, s_effrange, mscreenheight);
drawfillrect(mcanvas, color.black, s_effrange + random_type_1_space1, 0, random_type_1_range1, mscreenheight);
drawfillrect(mcanvas, color.black, s_effrange + random_type_1_space2, 0, random_type_1_range2, mscreenheight);
drawfillrect(mcanvas, color.black, s_effrange + random_type_1_space3, 0, random_type_1_range3, mscreenheight);
這樣4個動畫效果已經介紹完畢, 下面我將一些重要的**貼上。
根據特效的狀態 進行繪製特效
/**繪製特效
**/
public void rendereffect() }
break;
case random_effect_type_shadow:
/**水紋效果其實繪製了
4個矩形 中間留一些縫隙
**/
drawfillrect(mcanvas, color.black, 0, 0, s_effrange, mscreenheight);
drawfillrect(mcanvas, color.black, s_effrange + random_type_1_space1, 0, random_type_1_range1, mscreenheight);
drawfillrect(mcanvas, color.black, s_effrange + random_type_1_space2, 0, random_type_1_range2, mscreenheight);
drawfillrect(mcanvas, color.black, s_effrange + random_type_1_space3, 0, random_type_1_range3, mscreenheight);
break;
case random_effect_type_cross:
/**交錯的實現矩形相交
**/
int count = (mscreenheight / random_type_2_range);
for (int i = 0; i < count; i += 2)
for (int i = 1; i < count; i += 2)
break;
case random_effect_type_sector:
//rectf
為扇形繪製區域 為了讓扇形完全填充螢幕所以將它的區域擴大了
100畫素
rectf rectf = new rectf(- random_type_3_range, - random_type_3_range,mscreenwidth+random_type_3_range,mscreenheight + random_type_3_range); //
將扇形繪製出來
drawfillcircle(mcanvas, color.black,rectf,0,s_effrange,true);
break; }
} /**更新特效
**/
public void updataeffectrange(int range)
} else if (s_effrange > s_effectrangetarget) }
} /****/
public void setcurtaineffect(int type)
setgamestate(game_effect); }
遊戲場景切換的問題
遊戲場景切換的問題 場景切換的時候從空場景到新場景的過程中由於資料多,會卡住一會,感覺就像是停止響應一樣 我想在空場景到新場景的過程中加個類似讀條的東西,就做個東西在那轉也可以.但是當開始載入新場景時,空場景裡所有東西都會卡住,包括那個假的進度條 用個 非同步載入 去載入下乙個場景 當下乙個場景在後...
Cocos遊戲場景切換(C )
這裡是主場景的介面的c include helloworldscene.h include gamescene.h using ns cc using namespace std scene helloworld createscene bool helloworld init size visib...
遊戲場景測試
在拿到了正式美術資源之後,首先關心的就是場景的尋路和碰撞問題。尋路是遊戲中人可以行走的區域,碰撞是場景中得物體所佔的空間。對於這2個問題,不同的遊戲有著不同的處理方式。有的是服務端有乙份資料,客戶端生成乙份資料,然後2份資料進行對比就可以很方便的找出不一樣的地方。但是我們的遊戲不是這樣做的,美術在做...