我使用平铺应用程序创建了一个平铺地图。贴图大小为40X40,平铺集大小为32X32。在游戏中,地图向下滚动,给人一种汽车在移动的错觉。当我在游戏中点击地图时,我在获取Y坐标时遇到了困难。我需要将Cocos2d坐标系转换为平铺集坐标系。当瓦片地图到达终点时,我再次将汽车放在地图的开始处。这样,映射就会无限地继续。在平铺应用程序中,我可以看到需要获取的块的坐标是3,19,但我很难弄清楚如何转换Cocos2d坐标来反映该平铺。下面是我的代码:
- (CGPoint)tileCoordForPosition:(CGPoint)position {
int x = position.x / se
我在监听touchevents,当我用pageX/layerY调整layerX/layerY值时,从我的触摸(我的手指)看,这个点显示在圆圈的顶端,而不是中间。
//pageX = 310, layerX = -9. This is exactly in the middle of the touch circle horizontally
touchEvent.changedTouches[0].pageX + touchEvent.layerX
//pageY = 90, layerY = -34. This is exactly at the top of the touch circ
我在onTouchEvent(MotionEvent event)的自定义视图中响应触摸事件。我遇到了坐标不一致的问题:event.getRaw(Y)返回包含状态栏的触摸的Y坐标,而myView.getTop()返回不包括状态栏的视图顶部的Y坐标。我采用了以下技巧来修正状态栏的高度:
// Get the size of the visible window (which excludes the status bar)
Rect rect = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);
我想要中锋(或顶楼等)FloatLayout坐标。我通过使用on_touch_up事件做得很好,但是我无法在__init__部分获得它。如何修改代码以获得center_1
我试过to_local,to_window,to_parent,但是我做得不好.
import kivy
from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.floatlayout import FloatLayout
class TestLayer(FloatLayout):
我是Xcode的新手,我想检查一下如何对它进行编码,以便我可以使用触摸仅在y坐标中移动我的对象。
目前,我已经将它编程为跟随我的触摸,但是它将同时跟随x和y坐标。
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
/* Called when a touch begins */
if moving.speed > 0 {
for touch: AnyObject in touches {
let location = touch.locat