正文
java地图代码生成器,游戏地图生成器
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
如何做一个简单的java地图编辑器
地图编辑器思路如下:
这个小地图是3x3的,我们用汉字对它进行描述:
石头 空白 雪地
空白 砖墙 空白
水面 空白 草地
这像什么? 像不像二维数组.! 所以我们可以使用二维数组来存储一副地图.
当然了使用汉字来描述地图, 还是太麻烦...
我们使用数字来存储更好.把数字和对应的图片做好一一对应的关系.比如0代表空白 1代表石头 ... 绘制地图的时候,循环二维数组,如果是1就在此处画石头,循环到0就什么也不画直接跳过..
拓展,如果还想有稍微立体点的效果, 就是比如有薄雾什么的, 那么你可以建立另外一个天气图层的二维数组, 这个数组就是绘制薄雾等天气的, 这个要最后绘制, 这样才能起到薄雾对下面地图的遮挡..
编辑地图的时候 ,先点击一个图片,表示等下需要绘制的图片是哪一个.然后在编辑地图的时候按下鼠标代表开始开始绘制, 然后鼠标拖动到哪里就绘制到哪里, 最后松开鼠标松开, 完成绘制
地图的保存: 二维数组可以直接把每个元素写入到文本文件里, 当然了也可以直接把整个二维数组对象都写入到文件里,使用的时候,直接读取还原即可
Java Eclipse来开发地图,用什么插件
1. Log4E
Log4E支持Java项目使用日志,不依赖于任何Log框架,可以通过配置支持各种日志框架,例如Log4J、JDK 1.4日志记录和SLF4J。Log4E高级版本提供了扩展功能,如可编辑模板、在常用日志框架中使用Jakarta字符串生成器,预览向导,首选范围等。总体来说,Log4E是一款实用且受欢迎的插件。
2. Mylyn
Mylyn可以将任务管理和上下文管理无缝集成到Eclipse中,是一款强大的任务和应用程序生命周期管理(ALM)框架。Mylyn基于Eclipse,提供以任务为重点的界面、工具和API,帮助开发人员执行多任务,避免信息过载。另外,Mylyn还集成了很多有用的工具,如Jira,Bugzilla和Trac,这些工具可以提供任务管理和离线编辑功能
3 Spring IDE
Spring IDE是一个Eclipse插件套件,主要用于开发基于Spring的应用,支持Spring AOP(面向方面的编程),Spring Web Flow和Spring JavaConfig。除此之外,开发人员还可以使用向导、文本和图形编辑器来创建Spring配置文件和新的Spring项目。
4. FindBugs
FindBugs是一个免费的开源软件应用程序,主要作用是帮助开发人员发现Java代码中的错误,它能够分析Java1.0到1.8所有版本编译的代码。FindBugs可以作为流行IDE的可用插件,如Eclipse,Netbeans和IntelliJ等。另外,它还为开发人员提供云存储功能,帮助他们查找和共享某些问题的评估信息。
5. Eclipse Checkstyle
Checkstyle是一种广泛使用的Java源代码检查工具,它能够自动化检查Java代码是否符合规范。Eclipse Checkstyle集成了多个Eclipse工作区插件的Checkstyle代码分析器,允许开发人员配置自定义编码标准和规则,一旦出现任何违反标准和规则的代码就会及时反馈和警告,发现的违例或偏差可作为代码编辑器注释、Eclipse问题视图和Checkstyle违例视图。
6. Eclim
Eclim是一款用于将Eclipse IDE的代码编辑功能与Vim(一种支持多种编程语言的流行文本编辑器)集成的插件。通过这一插件Java开发人员可以访问几个重要功能,如代码完成提示、代码验证、Java文档和源代码搜索,支持Checkstyle和正则表达式测试。程序员还可以利用Eclim编辑HTML,Python,Ruby,JavaScript等代码。此外,第三方Eclim客户端还支持其他文本编辑器,例如Sublime Text 2,TextMate和Emacs。
7. Apache IvyDE
Apache IvyDE是一个用于将Eclipse Ivy(一个依赖项管理器)与Eclipse IDE集成的插件。 Apache Ivy是Apache Ant的一个子项目,是一个基于Java的软件工具,用于自动化构建过程。 Apache IvyDE提供了强大的功能,如Java依赖关系管理,支持传递依赖,Ivy XML文件编辑器,托管类路径容器和反向依赖关系浏览器。
8. EGit
Git是一款流行的免费开源分布式版本控制软件,EGit集成了Eclipse Team Framework与GIT,它能够保存用户创建的任何新提交的更新,并且实现了对于代码每次修改的整个历史的跟踪。 EGit项目是在“The JGit Project”(GIT的Java实现)之上实现Eclipse工具。
9. P4Eclipse
P4Eclipse是一个强大的解决方案,用于集成Eclipse IDE与Perforce Helix版本控制引擎。 P4Eclipse是Eclipse IDE的Helix插件,它为Eclipse提供基本的Helix操作,支持Eclipse Team Framework中的敏捷和传统开发工作流程, P4Eclipse为Eclipse IDE用户提供了一些有用的功能,如代码审查,协作,调试,复杂重构等等。
10. Hibernate Tools
Hibernate Tools是一套用于Eclipse IDE的插件,允许Java开发人员利用Hibernate3的强大功能。Hibernate是一个用于Java平台的对象关系映射工具,它是JBoss Tools的重要组成部分。Hibernate工具为Eclipse IDE提供了一系列的功能,如映射编辑器,Hibernate控制台,统一Ant任务和数据库逆向工程。
java代码生成器用途
主要功能: 你只要设计好数据库 就可以生成java vo
java DAO jsp
servlet
struts-config配置信息
oracle 建表语句 查询语句 等
可生成java struts 架构的完整的源码 包括 增加 删除 修改 查询等功能的源码
但
1.不同的架构,需要不同的生成器
2.生成器一般需要模板技术,如freeMarker、velocity等
3.生成器也是Java项目,可以自己修改、设计、开发
4.生成器能节省一定的工作量
学这个? 网上都有现成的软件,会用就行,使用很简单。 如果是想学开发一个代码生成器的话,我觉得没必要啊。
你把JAVA 语言学会了,真正在开发的时候自然会遇见这个软件,自然就会了
谷歌地图二次开发,java实现获取数据库信息,地图生成标注
给你一个java文件的调用代码,是我测试过的,好用:
var centerLatitude = 33.73518;
var centerLongitude = 113.31073 ;
var startZoom = 14;
var map;
var markerHash={};
var currentFocus=false;
function focusPoint(id){
if (currentFocus) {
Element.removeClassName("sidebar-item-"+currentFocus,"current");
}
Element.addClassName("sidebar-item-"+id,"current");
markerHash[id].marker.openInfoWindowHtml(markerHash[id].address);
currentFocus=id;
}
function filter(type){
for(i=0;imarkers.length;i++) {
var current=markers[i];
if (current.structure_type == type || 'All' == type) {
Element.show("sidebar-item-"+markers[i].id)
if (!markerHash[current.id].visible) {
map.addOverlay(markerHash[current.id].marker);
markerHash[current.id].visible=true;
}
} else {
if (markerHash[current.id].visible) {
map.removeOverlay(markerHash[current.id].marker);
markerHash[current.id].visible=false;
}
Element.hide("sidebar-item-"+markers[i].id)
}
}
}
function windowHeight() {
// Standard browsers (Mozilla, Safari, etc.)
if (self.innerHeight)
return self.innerHeight;
// IE 6
if (document.documentElement document.documentElement.clientHeight)
return document.documentElement.clientHeight;
// IE 5
if (document.body)
return document.body.clientHeight;
// Just in case.
return 0;
}
function handleResize() {
var height = windowHeight() - $('toolbar').offsetHeight - 30;
$('map').style.height = height + 'px';
$('sidebar').style.height = height + 'px';
}
function addMarker(latitude, longitude, id) {
var marker = new GMarker(new GLatLng(latitude, longitude));
GEvent.addListener(marker, 'click',
function() {
focusPoint(id);
}
);
map.addOverlay(marker);
return marker;
}
function init() {
handleResize();
map = new GMap($("map"));
map.addControl(new GSmallMapControl());
map.setCenter(new GLatLng(centerLatitude, centerLongitude), startZoom);
for(i=0;imarkers.length; i++) {
var current =markers[i];
marker=addMarker(current.latitude, current.longitude,current.id);
markerHash[current.id]={marker:marker,address:current.address,visible:true};
}
Element.hide('loading');
}
Event.observe(window, 'load', init, false);
Event.observe(window, 'resize', handleResize, false);
百度地图生成器获得代码后怎么使用
如何在页面中调用百度地图,直接在你想要插入的页面上调用百度地图代码即可
百度地图调用API地址:
设置定位中心:直接搜索你要找的位置即可。
2.设置地图:设置地图样式,如大小,显示,功能等。
3.添加标注:添加你要标注的地方,自定义坐标位置
4.获取代码:点击获取代码即可,在你要插入百度地图的地方出入百度地图代码
只要插入!--引用百度地图API--部分的代码就行。
java代码生成器怎么用
zip包,然后自动下载下来
1.预先定义好模板
2.界面输入相关参数
3.解析模板生成代码并下载
最后放出源代码:
package com.et.controller.system.createcode;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.et.controller.base.BaseController;
import com.et.util.DelAllFile;
import com.et.util.FileDownload;
import com.et.util.FileZip;
import com.et.util.Freemarker;
import com.et.util.PageData;
import com.et.util.PathUtil;
/**
* 类名称:FreemarkerController
* 创建人:Harries
* 创建时间:2015年1月12日
* @version
*/
@Controller
@RequestMapping(value=”/createCode”)
public class CreateCodeController extends BaseController {
/**
* 生成代码
*/
@RequestMapping(value=”/proCode”)
public void proCode(HttpServletResponse response) throws Exception{
PageData pd = new PageData();
pd = this.getPageData();
/* ============================================================================================= */
String packageName = pd.getString(“packageName”); //包名 ========1
String objectName = pd.getString(“objectName”); //类名 ========2
String tabletop = pd.getString(“tabletop”); //表前缀 ========3
tabletop = null == tabletop?””:tabletop.toUpperCase(); //表前缀转大写
String zindext = pd.getString(“zindex”); //属性总数
int zindex = 0;
if(null != zindext !””.equals(zindext)){
zindex = Integer.parseInt(zindext);
}
ListString[] fieldList = new ArrayListString[](); //属性集合 ========4
for(int i=0; i zindex; i++){
fieldList.add(pd.getString(“field”+i).split(“,fh,”)); //属性放到集合里面
}
MapString,Object root = new HashMapString,Object(); //创建数据模型
root.put(“fieldList”, fieldList);
root.put(“packageName”, packageName); //包名
root.put(“objectName”, objectName); //类名
root.put(“objectNameLower”, objectName.toLowerCase()); //类名(全小写)
root.put(“objectNameUpper”, objectName.toUpperCase()); //类名(全大写)
root.put(“tabletop”, tabletop); //表前缀
root.put(“nowDate”, new Date()); //当前日期
DelAllFile.delFolder(PathUtil.getClasspath()+”admin/ftl”); //生成代码前,先清空之前生成的代码
/* ============================================================================================= */
String filePath = “admin/ftl/code/”; //存放路径
String ftlPath = “createCode”; //ftl路径
/*生成controller*/
Freemarker.printFile(“controllerTemplate.ftl”, root, “controller/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName+”Controller.java”, filePath, ftlPath);
/*生成service*/
Freemarker.printFile(“serviceTemplate.ftl”, root, “service/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName+”Service.java”, filePath, ftlPath);
/*生成mybatis xml*/
Freemarker.printFile(“mapperMysqlTemplate.ftl”, root, “mybatis_mysql/”+packageName+”/”+objectName+”Mapper.xml”, filePath, ftlPath);
Freemarker.printFile(“mapperOracleTemplate.ftl”, root, “mybatis_oracle/”+packageName+”/”+objectName+”Mapper.xml”, filePath, ftlPath);
/*生成SQL脚本*/
Freemarker.printFile(“mysql_SQL_Template.ftl”, root, “mysql数据库脚本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);
Freemarker.printFile(“oracle_SQL_Template.ftl”, root, “oracle数据库脚本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);
/*生成jsp页面*/
Freemarker.printFile(“jsp_list_Template.ftl”, root, “jsp/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName.toLowerCase()+”_list.jsp”, filePath, ftlPath);
Freemarker.printFile(“jsp_edit_Template.ftl”, root, “jsp/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName.toLowerCase()+”_edit.jsp”, filePath, ftlPath);
/*生成说明文档*/
Freemarker.printFile(“docTemplate.ftl”, root, “说明.doc”, filePath, ftlPath);
//this.print(“oracle_SQL_Template.ftl”, root); 控制台打印
/*生成的全部代码压缩成zip文件*/
FileZip.zip(PathUtil.getClasspath()+”admin/ftl/code”, PathUtil.getClasspath()+”admin/ftl/code.zip”);
/*下载代码*/
FileDownload.fileDownload(response, PathUtil.getClasspath()+”admin/ftl/code.zip”, “code.zip”);
}
}