亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

最新回答 / wangjunjia
先修改為 android:targetSdkVersion="19",在導入。19是我的sdk版本。

最贊回答 / 黃淘淘
因為游戲每升級一次就會觸發TIME_CHANGED的消息隊列發送一次,而每次的TIME_CHANGED消息隊列都因為有?mHandler.sendEmptyMessage(NEXT_LEVEL)在繼續發送,所以如果升級了游戲,前面那個游戲等級的TIME_CHANGED消息就要remove掉 ?這是我的理解
car
mAnimLayout.removeAllViews();
加了這句代碼出錯
car
代碼不能運行
car
代碼不能運行
car
代碼跳的太快,不知道思路

最贊回答 / Mae000
這個主要是使用了TranslateAnimation動畫的原因 ,這種動畫只是效果上的移動,并沒有真正移動ImageView本身,也就是ImageView的真正位置值沒有發生變化,你可以打印它們的(x,y)才查看一 下,換句話說當你點擊 0和9位置上的ImageView時,雖然看到了交換的效果,但實質上0和9位置上的ImageView還是原來的那兩個ImageView,點擊的時候還是0和9對應的ImageView響應事件,而不是我們期望的讓9和0對應的ImageView去響應事件,所以才在上面加一層布局來...
car
mItemWitdh=(mWidth-mPadding*2-mMargin*(mColumn-1))/mColumn;
這個理解
貌似有點小bug,當在最后一秒完成游戲時會彈兩個Dialog

最贊回答 / qq_o夜以罙_0
我的也是,不過原因找到了,主要是由于你創建動畫層的時候,寬高是默認的,就是wrap那個,結果你第一次addview進去動畫層的時候就自動把寬高設置成了item的寬高,所以你必須在創建動畫層的時候設置他的寬高,其實很簡單,只要你在addview(動畫層)之前RelativeLayout.LayoutParams rp = new RelativeLayout.LayoutParams(mWidth, mHeight); mAnimLayout = new RelativeLayout(getContex...
如果檢查的時候有一個失敗直接返回,可以省去不必要的循環,效率更高!代碼如下:
private void checkSuccess()
{
for (int i = 0; i < mGamePintuItems.length; i++){
ImageView imageView = mGamePintuItems[i];
if (getImageIndexByTag((String) imageView.getTag()) != i) return;

。。。
mHandler.sendEmptyMessage(NEXT_LEVEL);
}
可以用Handler處理,定義常量private static final int REMOVE_VIEWS = 0x112;
在onAnimationEnd里面發送消息mHandler.sendEmptyMessage(REMOVE_VIEWS);
在Handler里面的handleMessage函數里面加個case進行處理
case REMOVE_VIEWS:
mAnimLayout.removeAllViews();
break;
課程須知
本課程是基于Android開發的案例,需要大家熟練的掌握Android和Java相關知識: 1、了解自定義控件的流程及相關知識 2、熟悉Android中的Tween Animation
老師告訴你能學到什么?
通過本課程,你將學到: 1、利用原生的控件來制作游戲 2、自定義控件的相關知識 3、巧妙利用層的概念結合動畫實現拼圖的無縫切換 4、游戲中限定時間的設置,以及關卡的設計

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消