美文网首页
Unity中用TouchScript的ICoordinatesR

Unity中用TouchScript的ICoordinatesR

作者: CodeHunter | 来源:发表于2018-06-27 17:15 被阅读0次

    之前在做一个关于触摸框的项目时候,因为触摸框的校准问题,所以当用户点了一个点的时候,显示在另外一个地方,所以就提出了需要对这个点进行重新映射把他偏移回来的需求,虽然最后这个项目靠着对触摸框的精准校准最终这个需求被解决了。但如果当时没解决我会怎么做呢?

    直到我最近在重新仔细看touchScript框架的东西的时候,才发现touchScript这个框架真的很好,他的作者早就有这方面的思索了,并提供了一个叫做ICoordinatesRemapper的接口,你只需要对这个接口进行实现,就能简简单单对触点进行X,Y的校准。

    那么我们就看来简单记录一下这个操作吧

    官网上有简单的说明文档,他说到每个input source的类下都有一个相关重新校准的属性,允许用户实现这个接口就可以改变触点的位置。

    而这个接口只包含了一个Remap的方法,你只需要对这个方法实现。

    这种方式能让你在你的触屏设备没完全精准的情况下特别有用,这种情况当你是用在投影墙或者触摸框上的时不时发生。

    我们打开一个inputsource的脚本,发现了这个属性。

    当他没被赋值时,就不进行校准。

    然后我们实现一个简单的类并实现ICoordinatesRemapper接口

    忘了说这个接口位于命名空间touchscript.inputsources下。

    他也简单,构造函数传进你需要偏差的值,然后remap这个方法中进行偏移,并返回给系统。

    实现这个方法后回到Inputsource的类里,在onenable这个方法里对属性进行赋值,传递一个实现了相应接口。

    这样我就对触点向上偏移了100个像素。然后回Unity里进行测试。

    随便一个脚本注册一个touchbegin的方法,touchbegin里直接打出position点。

    然后我们点屏幕左下角的时候,会发现这个点已经被向上偏移了100了。

    原来一切都如此之简单。

    相关文章

      网友评论

          本文标题:Unity中用TouchScript的ICoordinatesR

          本文链接:https://www.haomeiwen.com/subject/jwciyftx.html