我用来OnMouseDrag()更改屏幕上对象的相机视图。代码如下:
void OnMouseDrag() {
if (isGameOver) {
return;
}
float rotSpeed = GameConst.rotateSpeed * 20.0f ;
float rotX = Input.GetAxis("Mouse X") * rotSpeed * Mathf.Deg2Rad;
float rotY = Input.GetAxis("Mouse Y") * rotSpeed * Mathf.Deg2Rad;
transform.RotateAround(Vector3.up, -rotX); transform.RotateAround(Vector3.right - Vector3.forward, -rotY);
}
Run Code Online (Sandbox Code Playgroud)
然后我用来button.OnClick().AddListerner()在单击按钮时附加一个函数。
问题是,每次当我完成拖动时,如果鼠标向上的位置在按钮区域中,按钮也会调用该OnClick()函数。OnClick()当只是拖动操作时如何禁用?
我是一名iOS游戏开发者,最近看到一款有趣的物理和绘图游戏“糖糖”。在游戏中,屏幕上会产生大量像素粒子(数千个)并自由落体到地面。玩家可以绘制任何形状的线条,这些线条可以将这些颗粒引导到某些杯子。来自谷歌的图片:

我正在尝试使用 SpriteKit 和 Swift 来实现类似的效果。这是我得到的:

然后我遇到了性能问题。一旦粒子数量>100。CPU和能源成本非常高。(我使用 iPhone 6s)。所以我相信《糖糖》中的物理引擎比现实的SpriteKit简单得多。但我不知道那里的物理引擎是什么以及如何在 SpriteKit 中实现这一点?
PS:我使用一张图像作为所有这些粒子的纹理,仅加载一次以节省性能。我只使用 SKSpriteNode,出于性能原因也没有使用 ShapeNode。