本帖最后由 MilanShva 于 2011-04-12 11:27:38 编辑

解决方案 »

  1.   

     public boolean leftRotate(int i) 
        {
            System.out.println("leftRotate被调用");
            miDTX=-5;
            postInvalidate();
            return true;
        }
        public boolean rightRotate() 
        {
            System.out.println("rightRotate被调用");
            miDTX=-5;
    你这个左右都是减5啊,如果位置小于0会报错的
      

  2.   

    package com.lyx.Activity;两个都在一个包里面吗?还是在activity里导入这个GameView包了?
      

  3.   

    postInvalidate 是谁实现的 ? 你直接改成 this.invalidate();你这个问题一般就是GameView没有重画引起的. 还有,这位老兄,知道你要写个游戏了.不过你为什么不用游戏引擎呢? 这些都给你封装好了...推荐用Angle 这个比较简单, 也可以用 Rokon 
      

  4.   

    仁兄,this.invalidate();报错,提示没有这个方法。
    报错
    04-12 14:33:31.547: ERROR/ActivityThread(1257): start dispatch OnReceive message,mRegistered=true mCurOrdered=false intent=Intent { act=android.intent.action.SIG_STR (has extras) } receiver = com.android.phone.BluetoothHandsfree$BluetoothPhoneState$2@2fcb0f48
    04-12 14:33:31.547: ERROR/ActivityThread(1257): exit dispatch OnReceive message,mRegistered=true mCurOrdered=false
    04-12 14:33:36.017: ERROR/ActivityThread(1257): start dispatch OnReceive message,mRegistered=true mCurOrdered=false intent=Intent { act=android.intent.action.SIG_STR (has extras) } receiver = com.android.phone.BluetoothHandsfree$BluetoothPhoneState$2@2fcb0f48
    04-12 14:33:36.017: ERROR/ActivityThread(1257): exit dispatch OnReceive message,mRegistered=true mCurOrdered=false
    04-12 14:33:41.027: ERROR/ActivityThread(12141): enter process activity msg= 120
    04-12 14:33:41.027: ERROR/ActivityThread(12141): exit process activity msg= 120
    04-12 14:33:42.747: ERROR/ActivityThread(1257): start dispatch OnReceive message,mRegistered=true mCurOrdered=false intent=Intent { act=android.intent.action.SIG_STR (has extras) } receiver = com.android.phone.BluetoothHandsfree$BluetoothPhoneState$2@2fcb0f48
    04-12 14:33:42.747: ERROR/ActivityThread(1257): exit dispatch OnReceive message,mRegistered=true mCurOrdered=false
    04-12 14:33:47.217: ERROR/ActivityThread(1257): start dispatch OnReceive message,mRegistered=true mCurOrdered=false intent=Intent { act=android.intent.action.SIG_STR (has extras) } receiver = com.android.phone.BluetoothHandsfree$BluetoothPhoneState$2@2fcb0f48
    04-12 14:33:47.217: ERROR/ActivityThread(1257): exit dispatch OnReceive message,mRegistered=true mCurOrdered=false
    04-12 14:33:51.707: ERROR/ActivityThread(1257): start dispatch OnReceive message,mRegistered=true mCurOrdered=false intent=Intent { act=android.intent.action.SIG_STR (has extras) } receiver = com.android.phone.BluetoothHandsfree$BluetoothPhoneState$2@2fcb0f48
    04-12 14:33:51.707: ERROR/ActivityThread(1257): exit dispatch OnReceive message,mRegistered=true mCurOrdered=false
    04-12 14:33:58.427: ERROR/ActivityThread(1257): start dispatch OnReceive message,mRegistered=true mCurOrdered=false intent=Intent { act=android.intent.action.SIG_STR (has extras) } receiver = com.android.phone.BluetoothHandsfree$BluetoothPhoneState$2@2fcb0f48
      

  5.   


    invalidate 是 View类的一个方法. 你那个postInvlidate我查了确实有这个方法,也是用来重画的. 你找不到这个invalidate ? 你在什么地方用的?不是在你的GameView中么? 如果不是,那么要加GameView的引用mGameView.invalidate(); 你调试的时候加个断点看看,这句话执行了么? 然后再onDraw上加断电,看看OnDraw画了么.