我正在制作一款格斗游戏,在游戏开始之前,我想添加一个介绍故事,我希望故事以 1 个字母显示,这是我的代码:
public class Story {
public int index;
public int delay;
public int x;
public int y;
public String[] text = {"D","i","c","e","r","i","t","a","k","a","n"," ", "a","d","a"," ","s","e","o","r","a", "n", "g",
" ","p","e","m","u","d","a"," ","b","e","r","n", "a","m","a"," ","b","o","r","a","k", "s", " ","y","a","n","g"," ","m",
"e","m","i","l","i","k", "i"," ","d","e","n","d","a","m"," ", "t", "e","r","h","a","d","a","p"," ","k","e","m","a","t",
"i","a","n"," ","a","d","i","k","n", "y", "a","R","e","m","a","n"," ","y","a","n","g"," ","t", "e","w","a","s"," ","d",
"i","t","a", "n", "g","a","n"," ","p","e","n","j","a","h","a","t"," ", "n","o","m","o","r"," ","1"," ","d", "i", " ","d","u","n","i","a"," ",
"y","a","i","t","u"," ", "B","u","k","a"," ","d","a","d","a", ".", "\n","S","i","a","p","k","a","h"," ","a","n","d","a"," ", "m","e","m","b","a","n","t","u"," ", "b", "o",
"r","a"," k","s","?"};
public Story(){
x=10;
y=10;
index=0;
}
public void render(Graphics g){
//background
ImageLoader loader = new ImageLoader();
BufferedImage load = loader.load("/assets/mainmenu.png");
g.drawImage(load, 0, 0, null);
//draw the string
if(delay > 10)
{
if(index < text.length){
g.drawString(text[index],x,y);
}
index++;
x=x+10;
delay = 0;
if(x==500)
{
x = 10;
y=y+100;
}
}
}
public void tick(){
delay++;
}
}
它有效,但不太正确。已绘制的旧字符串丢失。它每次延迟只绘制 1 个字母,并且已绘制的旧字母消失了。
有人可以帮我更正这段代码吗?我是使用java的新手。非常感谢你。