在前一篇博客中,我们成功的创建了一个游戏窗口,并且在游戏窗口中添加了小鸟、地面、柱子 三个对象,但是,此时的界面是一个静态的界面,各个对象都是无法移动的。
这篇博客中,让我们一步步去实现三个对象的移动效果。分别实现:地面移动、柱子移动、小鸟移动、以及小鸟动画效果。
在这个教程中,大量使用了javaswing
里的内容,如果有初学者不是很懂,其实影响也不大。代码其实是写会的,而不是理解会的。
《flappy bird》是一款由来自越南的独立游戏开发者Dong Nguyen所开发的作品。 游戏于2013年5月24日上线,并在2014年2月突然暴红。
2014年2月,《Flappy Bird》被开发者本人从苹果及谷歌应用商店撤下。 2014年8月份正式回归APP STORE,正式加入Flappy迷们期待已久的多人对战模式。
游戏中玩家必须控制一只小鸟,跨越由各种不同长度水管所组成的障碍。
游戏初始界面(图1):
使用properties
文件存放数据库配置,读取properties
文件。并配置dbcp
连接池。
创建DBUtil连接,连接数据库,方便复用建立数据库的连接和关闭操作。
数据库相关配置,db.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false
jdbc.user=root
jdbc.password=123456
使用properties
文件存放数据库配置,读取properties
文件。并配置dbcp
连接池。
创建DBUtil连接,连接数据库,方便复用建立数据库的连接和关闭操作。
oracle数据库相关配置,db.properties
jdbc.driver=oracle.jdbc.OracleDriver
jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:ORCL
jdbc.user=oracle
jdbc.password=123456
Mysql数据库相关配置,db.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false
jdbc.user=root
jdbc.password=123456
这里,
useSSL=false
这段因为连接高版本的数据库需要确认,没有的话会有提示。
反射是JAVA的API。它允许程序在运行过程中取得任何一个已知名称的类的内部信息,包括其中的构造方法、声明的字段和定义的方法等。
(这个定义非常有趣,我们可以想到我们所学的框架、导入的jar包都运用到了反射)。
利用反射API我们可以实现动态执行:
动态加载类,获取类信息
动态创建类的对象
动态访问类的属性
动态调用类的方法
java中的集合有List、set、Map集合,分别介绍三种集合的遍历方式。有Person类如下:
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
box-shadow
为边框设置阴影。语法格式如下:
box-shadow:x-shadow y-shadow blur spread color inset;
参数说明:
x-shadow:设置水平阴影的位置(X轴),可以使用负值;(必须)
y-shadow:设置垂直阴影的位置(y轴),可以使用负值;(必须)
blur:设置阴影模糊半径;(可选)
spread:扩展半径,设置阴影的尺寸;(可选)
color:设置阴影的颜色;(可选)
inset:这个参数默认不设置.默认情况下为外阴影,inset表示内阴影.(可选)
blur
和spread
属性比较容易理解,一试便知。主要总结阴影位置。