1.1 "TableCell.h"
#import <UIKit/UIKit.h>
/**
* 房间桌子显示结构
* /
@interface TableCell : UITableViewCell {
UILabel *tableNoLable// 桌子号
UIImageView *tableImageView// 桌子图片
UIImageView *tableStateImageView// 桌子状态图片
}
@property (nonatomic ,retain) IBOutlet UILabel *tableNoLable// 桌子号
@property (nonatomic ,retain) IBOutlet UIImageView *tableImageView// 桌子图片
@property (nonatomic ,retain) IBOutlet UIImageView *tableStateImageView// 桌子状态图片
1.2 TableCell. m
#import "TableCell.h"
@implementation TableCell
@synthesize tableNoLable// 桌子号
@synthesize tableImageView// 桌子图片
@synthesize tableStateImageView// 桌子状态图片
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
// Initialization code
}
return self
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated]
// Configure the view for the selected state
}
- (void)dealloc {
[tableNoLable release]
[tableImageView release]
[hand3ImageView release]
[super dealloc]
}
@end
1.3 布置布局文件( xib 文件)指明 class 为自己定义的 tabelcellview
new 一个Empty Xib文件,其中不包含view, 在libriary中拖一个UITableCell到两个图标的框中,双击cellview,指明class为cell.m文件,开始编辑
2. 页面中在 tableView 中加载自己的 cell
#import "TableCell.h"
// 设置房间桌子数
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
[Util showLog:@"numberOfRowsInSection"]
return g_Room.wTableCount
}
// 设置单元格的高度
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
[Util showLog:@"heightForRowAtIndexPath"]
return kTableViewRowHeight
}
// 设置单元个样式
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
[Util showLog:@"cellForRowAtIndexPath start"]
static NSString *tableCellIdentifier = @"TableCellIdentifier"
TableCell *cell = (TableCell *)[tableView dequeueReusableCellWithIdentifier:tableCellIdentifier]
[Util showLog:@"TableCellIdentifier"]
if(cell == nil){
NSArray *nib = [[NSBundle mainBundle]loadNibNamed:@"TableCell" owner:self options:nil]
for(id oneObject in nib){
if([oneObject isKindOfClass:[TableCell class]]){
cell = (TableCell *)oneObject
//***** 自己设计每个 cell 的内容,此函数会回调 table 的行数次,行数为 numberOfRowsInSection:(NSInteger)section 函数指定
// 显示桌子号码
NSUInteger row = [indexPath row] + 1
NSString *str =[NSString stringWithFormat:@"%d",row]
cell.tableNoLable.text = [[@" 第 " stringByAppendingString:str] stringByAppendingString:@" 桌 "]
[Util showLog:@"tableNoLable"]
if(deskshowFlg){
// 获取要绘画的桌子信息
Desk *tempDesk = [g_DeskArray objectAtIndex:[indexPath row]]
}
}
}
STEP1 数据准备
1 地图准备 剪裁好的并赋值好的.tif格式地图
注意:地图的坐标系要设置成投影坐标系, 不要设置成地理坐标系。 因为地理坐标系的图每一个格的像元值太小了, 在fragstats 运行的时候会报错 报错是 error cell size is too small
文件1: .fcd文件
先在csv里整理文件格式如下(也可以直接用notepad写入,另存为.fcd文件)
id就是你地图里不同景观类型的赋值 如下图的1-7
name是对景观分类进行命名, enabled是指这一类型的景观在当前地图内是否存在, 不存在就写false
isbackground 是指当前景观是否当作当前地图的背景处理, 如果不是,就写false
然后保存文件,后用notepad 改格式为.fcd
文件2 .fsq文件
写入方法同上, 后面的0矩阵是 你有n个类,就写一个n*n的矩阵
STEP2 数据导入
导入地图 点击 add layer
另外一种是import batch 批量导入。 这是一种通过导入一个文件然后自动提取相应位置地图的方法。个人觉得还要设置每一个地图的参数,十分麻烦,所以没用那个方法,教程链接我放在了文末的链接 教程截图如下
add layer 可以一次导入很多地图
可以看到cell size 差不多在30左右 更大也没关系, 如果太小例如0.000029 软件没法计算
放入 fcd和fsq文件
选择分析参数
1 一般选用八单元格的算法,
2 勾选自动保存结果, 然后在后面选择你要保存的位置,并且命名文件
3你需要计算哪个类别的指数就勾选哪个类别
其他的框框我都选择默认选项 如果有需要可以酌情选择
勾选参数,结束后点击run 然后d出对话框 点击 proceed
结果就保存在刚才你保存的结果文件里
批量导入链接: 批量导入
地图编辑器就是编辑TiledLayer中的cell,可以方便的画出每个cell,J2ME的地图说实话就是铺路的形式,将地图模块刷成场景,素材可以自己做也可以网上下现成的,让你能看到地图的整体效果,而不是{{1,1,2,3},{2,2,2,3}}这样的数据,但它返回的却是这样的数据,直接粘过来就可以实现代码,我现在用mapwin,感觉还行动画编辑器,同理的东西
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)