资源简介
用swing写的一个人物行走实例,只是实现了人物行走,对于地图之类的就没有实现了,菜鸟写的菜鸟程序拿出来给大家学习学习,呵呵!
代码片段和文件信息
/**
* @(#)baseSprite.java
*
*
* @author saint
* @version 1.00 2010/1/2
*/
package org;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class baseSprite extends JComponent implements Runnable {
private Image SpriteImg; //精灵图片
private int Direct; //8(上)2(下)4(左)6(右)
private int Spriteframe; //精灵当前所在帧
private int SpriteWidth; //一帧的宽度
private int SpriteHeight; //一帧的高度
private int moveSpeed; //移动速度
private int sleepMillis; //线程休眠时间(秒)
private int sleepNanos; //线程休眠时间(纳秒)
private int moveLevel; //跟速度等级有关
private int xy; //精灵坐标
private int pxpy; //精灵偏移坐标
private boolean stop; //是否停止移动
public baseSprite(String img int w int h) {
this.setSpriteImg(img w h);
this.initialize();
new Thread(this).start();
}
//初始化
private void initialize() {
this.setMoveLevel(3);
this.Spriteframe = 1;
this.x = 0;
this.y = 0;
this.px = (SpriteWidth-32)/2;
this.py = (SpriteHeight-32);
this.setPreferredSize(new Dimension(SpriteWidthSpriteHeight));
this.setBounds(x-px y-py SpriteWidth SpriteHeight);
this.stop = true;
}
//设置移动速度等级
public void setMoveLevel(int c) {
if(c==1) {
this.moveSpeed = 1;
this.sleepMillis = 10;
this.sleepNanos = 0;
this.moveLevel = 16;
}else if(c==2) {
this.moveSpeed = 1;
this.sleepMillis = 9;
this.sleepNanos = 500;
this.moveLevel = 16;
}else if(c==3) {
this.moveSpeed = 2;
this.sleepMillis = 10;
this.sleepNanos = 500;
this.moveLevel = 8;
}
}
//加载图片
private Image LoadImg(String str) {
return (Toolkit.getDefaultToolkit()).createImage(str);
}
//设置/获取精灵图片及其属性
public void setSpriteImg(String str int w int h) {
this.SpriteImg = this.LoadImg(str);
this.SpriteWidth = w/4;
this.SpriteHeight = h/4;
}
public Image getSpriteImg() {
return this.SpriteImg;
}
public int getSpriteWidth() {
return this.SpriteWidth;
}
public int getSpriteHeight() {
return this.SpriteHeight;
}
//获取人物坐标
public int getSpriteX() {
return this.x;
}
public int getSpriteY() {
return this.y;
}
//人物行走
public void moveStart(int c) {
this.Direct = c ;
if(stop)
stop = false;
}
private void moveSprite(int c) {
int tmpx = x;
int tmpy = y;
switch(c) {
case 2:
tmpy+=moveSpeed;
break;
case 8:
tmpy-=moveSpeed;
break;
case 4:
tmpx-=moveSpeed;
break;
case 6:
tmpx+=moveSpeed;
}
if((tmpx>=0 && tmpx<=608) && (tmpy>=0 && tmpy<=416)) {
x = tmpx;
y = tmpy;
this.setBounds(x-px y-py SpriteWidth SpriteHeight);
}
}
//人物停止
public void moveSto
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4556 2010-01-03 01:17 人物行走\ba
文件 843 2010-01-02 16:31 人物行走\JImagePanel.java
文件 2560 2010-01-03 01:23 人物行走\mainApp.java
文件 3887 2010-01-03 01:24 人物行走\org\ba
文件 5067 2004-06-25 00:00 人物行走\org\img\Actor.png
文件 1949 2010-01-03 00:46 人物行走\org\img\map.gif
文件 4028 2009-12-12 12:19 人物行走\org\img\snt32.png
文件 1069 2010-01-02 16:31 人物行走\org\JImagePanel.class
文件 1123 2010-01-02 15:47 人物行走\org\mainApp$1.class
文件 2988 2010-01-03 01:23 人物行走\org\mainApp.class
文件 571 2010-01-03 01:24 人物行走\org\winfr
文件 1119 2010-01-03 01:24 人物行走\org\winfr
文件 300 2010-01-03 01:34 人物行走\readme.txt
文件 17 2010-01-03 01:27 人物行走\Run.bat
文件 760 2010-01-02 16:31 人物行走\winfr
目录 0 2010-01-03 00:46 人物行走\org\img
目录 0 2010-01-02 17:54 人物行走\org
目录 0 2010-01-03 01:27 人物行走
----------- --------- ---------- ----- ----
30837 18
相关资源
- Head First_深入浅出Java(中文第2版)
- java des算法实现加密文字以及图片
- beiyou Java作业 -4
- jsp+servlet+javabean jdbc连接数据库 用户登
- java中国象棋打谱软件
- 决策树算法--java
- 朴素贝叶斯java代码
- java编写的抽象工厂迷宫,文字式,非
- java迭代器模式实现正反向遍历
- Java程序员面试笔试宝典附录答案与勘
- java求解素数环问题
- 用Java写的一个简单爬虫,爬取京东图
- 基于Java_Web的小型酒店管理系统_徐耀
- java局域网聊天模拟qq
- 基于java的推荐系统实现源代码
- 用java编程语言RC4算法的加密和解密
- JAVAWEB录音上传服务器
- Java设计模式综合应用场景
- 计算机操作系统大作业—进程控制模
- java web 网上商城项目源码(jspservlet
- java网上商城项目源码jsp.servlet+javabe
- Java最全面试宝典 (PDF清晰版)
- Java Web从入门到精通 原盘光盘镜像
- java 采用ssl的socket交互
- ac自动机java版
- 编程模拟多进程共享临界资源最终版
- HDU题目java实现
- java socket异步长连接demo
- websocket demojava客户端,心跳监测
- Java+servlet+jsp页面ajax请求
评论
共有 条评论