首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >团结运动触觉

团结运动触觉
EN

Stack Overflow用户
提问于 2014-02-22 15:07:21
回答 1查看 5.7K关注 0票数 0

我的足球点球就像比赛一样,我也需要移动移动球。我现在正在使用这个代码:

代码语言:javascript
复制
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
rigidbody.AddForce(movement * speed * Time.deltaTime);

我如何为移动制造一个移动系统?

另外,还有一些控制球的代码(比如当你通过一条线(就像保龄球),你只能改变它的位置1/10)。但它们是基于这个密码..。游戏脚本是c#..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-23 18:06:18

从使用轴切换到触摸是有点困难的。我推荐阅读有关Touchscript (http://interactivelab.github.io/TouchScript/)和API的一般工作原理。你需要做的是,当玩家接触到屏幕时,你会缓存这个触摸,当他们触摸你时,通过比较他们的第一次触摸和他们当前的位置来测量移动的方向。这样你就可以得到滑动的方向。

像这样的事情可以让你开始:

代码语言:javascript
复制
public void OnTouchBegin( object sender, TouchEventArgs e ){
    foreach( TouchPoint point in e.TouchPoints ){
        firstTouchPosition = new Vector2( point.Position.x, point.Position.y );
    }
}

public void OnTouchContinue( object sender, TouchEventArgs e ){
    foreach( var point in e.TouchPoints ){
        secondTouchPosition  = new Vector2( point.Position.x, point.Position.y );
        currentTouchMovement = new Vector2( ( secondTouchPosition.x - firstTouchPosition.x ),
        ( secondTouchPosition.y - firstTouchPosition.y ));
        currentTouchMovement.Normalize( );
    }
}

public void OnTouchEnd( object sender, TouchEventArgs e ){
    hasTouchEnded = true;
}

您需要一些自定义代码来确定与触摸输入对应的X和Y轴方向。此外,要小心屏幕坐标和游戏中的坐标,因为它们有很大的不同。这一开始看起来令人望而生畏,但通过一些工作,我保证这并不是太糟糕!希望这能有所帮助!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21956072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档