Canvas.drawColor() 产生黑色背景
Canvas.drawColor() Producing black background
我现在正在开发一款游戏,实际上我昨晚在我的笔记本电脑上完成了它的基础知识,现在我正在将图形更新为 Ubuntu 机器上的实际图形。我使用与原始游戏相同的绘制方法来创建背景和玩家角色。然而,什么也没有画,它似乎忽略了我的绘制方法。我尝试过很多不同的东西,注释掉代码,添加新代码。我调试了一段时间。
谁能看看是什么问题?我知道这可能是我看不到的简单东西。
绘制方法:
public void draw(){
if (holder.getSurface().isValid()){
canvas = holder.lockCanvas();
canvas.drawColor(Color.CYAN);
paint.setColor(Color.argb(255,249,129,0));
playerBike.drawBike(paint, canvas);//draw player character
holder.unlockCanvasAndPost(canvas);
}
}
运行方法:
public void run() {
while (playing){//playing is set to true
long startTimeFrame = System.currentTimeMillis();
if (!paused)
update();
//if (!isAlive())
// gameScreen.pause();
draw();
timeThisFrame = System.currentTimeMillis()-startTimeFrame;
if (timeThisFrame >= 1)
fps = 1000/timeThisFrame;
}
}
相关进口:
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
我想通了,很简单。我忘了开始游戏的线程。
我现在正在开发一款游戏,实际上我昨晚在我的笔记本电脑上完成了它的基础知识,现在我正在将图形更新为 Ubuntu 机器上的实际图形。我使用与原始游戏相同的绘制方法来创建背景和玩家角色。然而,什么也没有画,它似乎忽略了我的绘制方法。我尝试过很多不同的东西,注释掉代码,添加新代码。我调试了一段时间。
谁能看看是什么问题?我知道这可能是我看不到的简单东西。
绘制方法:
public void draw(){
if (holder.getSurface().isValid()){
canvas = holder.lockCanvas();
canvas.drawColor(Color.CYAN);
paint.setColor(Color.argb(255,249,129,0));
playerBike.drawBike(paint, canvas);//draw player character
holder.unlockCanvasAndPost(canvas);
}
}
运行方法:
public void run() {
while (playing){//playing is set to true
long startTimeFrame = System.currentTimeMillis();
if (!paused)
update();
//if (!isAlive())
// gameScreen.pause();
draw();
timeThisFrame = System.currentTimeMillis()-startTimeFrame;
if (timeThisFrame >= 1)
fps = 1000/timeThisFrame;
}
}
相关进口:
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
我想通了,很简单。我忘了开始游戏的线程。