gpt4 book ai didi

c# - 如何在 unity3d 中创建触摸屏 android 滚动条?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:58:24 24 4
gpt4 key购买 nike

我想用 Unity3d 创建一个 Android 游戏。这个游戏有一个带有可触摸卷轴的升级列表。我使用这段代码来创建它,但是当我在触摸屏上移动手指时,用力滚动并跳跃,我希望它能轻柔地移动,就像 Android 效果一样。

scrollPosition1 = GUI.BeginScrollView(Rect (0,400,Screen.width,175), 
scrollPosition1, Rect (0, 0, 650, 0));
// touch screen
if(Input.touchCount==1 &&
Screen.height -Input.GetTouch(0).position.y > 450 - scrollPositionHome.y &&
Screen.height - Input.GetTouch(0).position.y < 600 - scrollPositionHome.y)
{
var touchDelta2 : Vector2 = Input.GetTouch(0).deltaPosition;
scrollPosition1.x +=touchDelta2.x;
}

for (i=0;i < ImgSliderProducts.Length;i++)
{
GUI.DrawTexture(Rect(20+(i* 100),10,100,100),
ImgSliderProducts[i],ScaleMode.ScaleToFit,true);
}

GUI.EndScrollView();

最佳答案

using UnityEngine;
using System.Collections;

public class scrollView : MonoBehaviour {


Vector2 scrollPosition;
Touch touch;
// The string to display inside the scrollview. 2 buttons below add & clear this string.
string longString = "This is a long-ish string";

void OnGUI () {

scrollPosition = GUI.BeginScrollView(new Rect(110,50,130,150),scrollPosition, new Rect(110,50,130,560),GUIStyle.none,GUIStyle.none);

for(int i = 0;i < 20; i++)
{
GUI.Box(new Rect(110,50+i*28,100,25),"xxxx_"+i);
}
GUI.EndScrollView ();
}

void Update()
{
if(Input.touchCount > 0)
{
touch = Input.touches[0];
if (touch.phase == TouchPhase.Moved)
{
scrollPosition.y += touch.deltaPosition.y;
}
}
}
}

关于c# - 如何在 unity3d 中创建触摸屏 android 滚动条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20441090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com