Nabati 2016-08-22 09:22 采纳率: 6.3%
浏览 1171

求大神告知报错原因,空对象引用问题

    private void Draw() {

        /**绘制游戏背景**/
        //mCanvas.drawBitmap(mbitmapBg,0,0, mPaint);

mCanvas.drawColor(mBackgroundColor); //此行报错

        /**绘制小球**/
        mCanvas.drawCircle(mPosX,mPosY,mCircleRadius,mCirclePaint);
        //mCanvas.drawBitmap(mbitmapBall, mPosX,mPosY, mPaint);
        /**X轴 Y轴 Z轴的重力值**/
        mCanvas.drawText("X轴重力值 :" + mGX, 0, 20, mPaint);
        mCanvas.drawText("Y轴重力值 :" + mGY, 0, 40, mPaint);
        mCanvas.drawText("Z轴重力值 :" + mGZ, 0, 60, mPaint);
    }



    @Override
    public void run() {
        while (mIsRunning) {

            /** 取得更新游戏之前的时间 **/
            long startTime = System.currentTimeMillis();

            /** 在这里加上线程安全锁 **/
            synchronized (mSurfaceHolder) {
                /** 拿到当前画布 然后锁定 **/
                mCanvas = mSurfaceHolder.lockCanvas();

Draw(); //此行报错

                /** 绘制结束后解锁显示在屏幕上 **/
                mSurfaceHolder.unlockCanvasAndPost(mCanvas);
            }

            /** 取得更新游戏结束的时间 **/
            long endTime = System.currentTimeMillis();

            /** 计算出游戏一次更新的毫秒数 **/
            int diffTime = (int) (endTime - startTime);

            /** 确保每次更新时间为50帧 **/
            while (diffTime <= TIME_IN_FRAME) {
                diffTime = (int) (System.currentTimeMillis() - startTime);
                /** 线程等待 **/
                Thread.yield();
            }

        }

报错内容:
图片说明

  • 写回答

2条回答 默认 最新

  • paavochan 2016-08-22 09:26
    关注

    报错提示 mCanvas.drawColor(int),应该传int型,而你传的是一个null的object类型的

    评论

报告相同问题?

悬赏问题

  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决