大将军 发表于 2012-12-15 19:42

Unity3D在iphone上的多点触摸应用


老外的研究例子,本来有一段flash视频,好像地址失效了,就不放上来了。
检测iphone手机多点触摸脚本,带源码

There are a lot of questions on the Unity forums about how to handle multi-touch on iPhone. We’ve done a few experiments with multi-touch–although nothing in a game yet–but here’s one solution. This had a few goals:

Avoid iPhoneTouchPhase, which is unreliable (particularly with the remote)
Abstract touch tracking logic from game logic
Use a minimal amount of code
Multi-Touch Example (Unity iPhone) from Matthew Wegner on Vimeo.

This solution breaks the problem up into two classes, a Tracker and a Manager.The core of the manager uses a Hashtable to tie tracker objects to their finger IDs.The logic looks like:

Reset all trackers to “clean” state
Loop through all touch events
If we don’t have a tracker for this finger ID, create one (and assume touch has started)
If we already have a tracker object for this finger ID, tell it to update
Mark tracker as dirty
Any trackers that are still marked clean are assumed to be ended
There is some logic separation here, although it isn’t as clean as it could be.The code that’s spawning/moving cubes is placed directly into the TouchTracker class.In production we would strive to split this up, so the grunt work of tracking touches is totally separate from any game logic.You could have your game logic get notifications of new/ended touches, or you could subclass TouchTracker and set up functions like OnTouchStarted, OnTouchEnded, and OnTouchUpdated.Unity presents a lot of options for situations like this.

Enjoy the example, and comment if you make any changes or improvements.This is far from perfect, but I think it’s a good direction to take.

feifan52 发表于 2017-3-2 20:26

很不错

jstones 发表于 2017-3-2 19:34

好帖就是要顶

JIA710 发表于 2017-3-2 20:04

顶顶多好

ZzTiger 发表于 2017-3-2 19:49

难得一见的好帖

小纯洁 发表于 2017-3-2 20:27

很好哦

借你的孤单 发表于 2017-3-19 17:58

很不错

借你的孤单 发表于 2017-3-19 17:36

真心顶

qck123 发表于 2017-3-19 18:17

难得一见的好帖

crop_solid 发表于 2017-3-19 18:22

不错不错
页: [1] 2 3 4 5 6 7
查看完整版本: Unity3D在iphone上的多点触摸应用