新手一个,打算写一五子棋练练手,有两个问题请教大家
1:棋盘网格,看过别人的例子,都是用的图片,但不知道在不同屏宽的手机上,由于图片的伸缩,棋子会不会在网格上错位?
2:如果不用图片实现网格,画出来网格是不是可以? 点击的位置和事件响应怎么设计 ?
谢谢!
新手一个,打算写一五子棋练练手,有两个问题请教大家
1:棋盘网格,看过别人的例子,都是用的图片,但不知道在不同屏宽的手机上,由于图片的伸缩,棋子会不会在网格上错位?
2:如果不用图片实现网格,画出来网格是不是可以? 点击的位置和事件响应怎么设计 ?
谢谢!
1、棋盘可以用图片,棋盘内棋子等要用绝对坐标写,棋盘一般在屏幕居中(相对坐标),不会出现错位的情况。
2、画出来的网线也是在棋盘容器内的绝对位置,可参考第一条,点击的设计简单的可以通过给每个网格点注册事件,
另外因为每个网格点的宽高固定,还可以只注册一个棋盘的点击事件即可,通过计算当前点击坐标,换算成棋盘内坐标,在onTouchBegan方法内:
int gridNum = 15;//行列:15*15
Point p = chessboard->convertTouchToNodeSpace(touch);
int x = (p.x + gridNum * WIDTH/2)/WIDTH;
int y = (p.y + gridNum * HEIGHT/2)/HEIGHT);
发重复了,编辑掉。。。