package zrl.control;
import java.awt.Image;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.List;
import zrl.dto.Piano;
import zrl.ui.PianoFrame;
import zrl.ui.PianoPanel;
import zrl.util.ImageUtil;
import zrl.util.MusicUtil;
public class GameControl {
/**
* 游戏界面
*/
private PianoPanel pianoPanel;
/**
* 钢琴键图片
*/
private Image[] pianoKeys = ImageUtil.getPianoKeys();
/**
* 所有的钢琴键
*/
public List<Piano> pianos;
/**
* 所有钢琴键声音
*/
public String[] musicKeys = MusicUtil.getMusicKeys();
/**
* 读取用户控制按钮设置,利用反射的原理获取GameService类中相应的方法
*/
public GameControl() {
// 创建面板
pianoPanel = new PianoPanel(this);
// 创建窗口
new PianoFrame(pianoPanel);
// panel获取焦点,默认情况下焦点在JFrame
pianoPanel.requestFocus();
// 添加钢琴键到面板
pianos = new ArrayList<Piano>();
for (int i = 0; i < 20; i++)
pianos.add(new Piano(pianoKeys[i], i, musicKeys[i]));
}
// 键盘按下事件发生的动作
public void pressedActionByKeyCode(KeyEvent k) {
int count = k.getKeyCode() - 65;
if (count >= 0 && count < 20) {
// 某一个钢琴键按下,其他钢琴键隐藏
for (int i = 0; i < 20 && i != count; i++) {
pianos.get(i).setFlag(false);
}
pianos.get(count).setFlag(true);
// 页面刷新
this.pianoPanel.repaint();
}
}
public void releasedActionByKeyCode(KeyEvent k) {
int count = k.getKeyCode() - 65;
if (count >= 0 && count < 20) {
// 某个键松开时,则钢琴键隐藏
pianos.get(count).setFlag(false);
}
this.pianoPanel.repaint();
}
// 鼠标事件发生的动作
public void actionByMouse(MouseEvent e) {
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
Piano.rar (69个子文件)
Piano
.project 381B
bin
zrl
control
GameControl.class 2KB
PlayerMouseControl.class 997B
PlayerKeyControl.class 768B
main
Start.class 420B
dto
Piano.class 957B
ui
PianoFrame.class 1KB
PianoPanel.class 2KB
service
util
MusicUtil.class 782B
ImageUtil.class 1014B
LocationUtil.class 832B
.settings
org.eclipse.jdt.core.prefs 629B
music
6.mp3 36KB
18.mp3 30KB
15.mp3 29KB
4.mp3 40KB
5.mp3 42KB
7.mp3 38KB
3.mp3 39KB
19.mp3 32KB
2.mp3 47KB
9.mp3 36KB
13.mp3 29KB
14.mp3 33KB
10.mp3 33KB
17.mp3 31KB
11.mp3 33KB
16.mp3 33KB
8.mp3 42KB
12.mp3 31KB
1.mp3 41KB
20.mp3 25KB
src
zrl
control
GameControl.java 2KB
PlayerKeyControl.java 515B
PlayerMouseControl.java 626B
main
Start.java 150B
dto
Piano.java 692B
ui
PianoPanel.java 2KB
PianoFrame.java 757B
service
util
ImageUtil.java 483B
LocationUtil.java 418B
MusicUtil.java 270B
.classpath 474B
data
control.dat 0B
picture
13.png 4KB
5.png 4KB
18.png 3KB
bg.png 569KB
3.png 4KB
11.png 3KB
0.png 4KB
17.png 3KB
4.png 4KB
9.png 4KB
19.png 3KB
14.png 4KB
7.png 4KB
16.png 4KB
10.png 4KB
12.png 4KB
8.png 4KB
20.png 3KB
6.png 4KB
15.png 3KB
1.png 4KB
2.png 4KB
lib
tritonus_share.jar 100KB
jl1.0.1.jar 103KB
mp3spi1.9.5.jar 24KB
共 69 条
- 1
晴空闲读
- 粉丝: 3
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1