首先需要一个大图片bg,长度为bgWeight,它作为背景,相当于一个首尾相连的画卷,人物走动的话,它就滚动
泗阳网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联公司自2013年创立以来到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。
int pos=0;//它记录窗口坐标(左边)在bg的偏移;
pos=(pos+moveSpeed)%bgWeight;
然后根据pos的位置绘制背景,有可能你是绘制 bg的尾部+bg的头部 来形成完整的背景
经典代码:
public Ribbon(int movS, BufferedImage im) {
bim = im; //im就是背景图片
xImHead = 0;//当前游戏窗口左边在背景图片中的坐标
pWidth = GamePanel.WIDTH;游戏窗口宽
pHeight = GamePanel.HEIGHT;游戏窗口高
width = bim.getWidth();背景图片宽度
moveSize = movS;移动距离
}
public void draw(Graphics g) /* Consider 5 cases:考虑5种情况
// when xImHead == 0, draw only the im head
//when xImHead 0, draw the im tail and im head, or only the im tail.
//when xImHead 0, draw the im tail, or the im tail and im head
// xImHead can range between -width to width (exclusive)
*/ {
if (xImHead == 0) // draw im head at (0,0)//情况1
{
drawRibbon(g, bim, 0, pWidth, 0, pWidth);
}
else if ((xImHead 0) (xImHead pWidth)) {//情况2
// draw im tail at (0,0) and im head at (xImHead,0)
drawRibbon(g, bim, 0, xImHead, width - xImHead, width); // im tail
drawRibbon(g, bim, xImHead, pWidth, 0, pWidth - xImHead); // im head
}
else if (xImHead = pWidth) // only draw im tail at (0,0),情况3
{
drawRibbon(g, bim, 0, pWidth,
width - xImHead, width - xImHead + pWidth); // im tail
}
else if ((xImHead 0) (xImHead = pWidth - width)) {//情况4
drawRibbon(g, bim, 0, pWidth, -xImHead, pWidth - xImHead); // im body
}
else if (xImHead pWidth - width) { //情况5
// draw im tail at (0,0) and im head at (width+xImHead,0)
drawRibbon(g, bim, 0, width + xImHead, -xImHead, width); // im tail
drawRibbon(g, bim, width + xImHead, pWidth,
0, pWidth - width - xImHead); // im head
}
} // end of display()
累死,看看这里,很详细
看完还不会找我!
用if语句判断就行了啊,
public static void main(String args[])
{
double tz=0,sg=0,result=0;
Scanner input=new Scanner(System.in);
System.out.println("请输入体重(kg):");
tz=input.nextDouble();
System.out.println("请输入身高(m):");
sg=input.nextDouble();
result=tz/(sg*sg);
if (result24) {
System.out.println("肥胖");
}else if (result18) {
System.out.println("偏瘦");
}else {
System.out.println("正常");
}
}
用一个词就可以描述注解,那就是元数据,即一种描述数据的数据。所以,可以说注解就是源代码的元数据。比如,下面这段代码:
1
2
3
4
@Override
public String toString() {
return "This is String Representation of current object.";
}
上面的代码中,我重写了toString()方法并使用了@Override注解。但是,即使我不使用@Override注解标记代码,程序也能够正常执行。那么,该注解表示什么?这么写有什么好处吗?事实上,@Override告诉编译器这个方法是一个重写方法(描述方法的元数据),如果父类中不存在该方法,编译器便会报错,提示该方法没有重写父类中的方法。如果我不小心拼写错误,例如将toString()写成了toStrring(){double r},而且我也没有使用@Override注解,那程序依然能编译运行。但运行结果会和我期望的大不相同。现在我们了解了什么是注解,并且使用注解有助于阅读程序。
Annotation是一种应用于类、方法、参数、变量、构造器及包声明中的特殊修饰符。它是一种由JSR-175标准选择用来描述元数据的一种工具。