如何解决使用下拉列表在数组中播放视频的方法
我是编码和统一方面的新手,正在寻求帮助。我正在尝试从统一的下拉列表中选择视频后播放视频。我有两 (2) 个脚本,一个 (1) 用于播放视频,另一个用于下拉列表。我可以播放视频,但我不知道如何从下拉列表中选择视频以便播放。我有一系列视频,下拉列表从资源文件夹动态填充。从下拉列表中选择视频后,我在 Unity 中收到以下错误; IndexOutOfRangeException:索引超出数组范围。
如有任何帮助,我们将不胜感激。
//THIS IS THE METHOD I'M HAVING TROUBLE WITH
public void PlaySeletedVideo()
{
for (int videoClipIndex = 0; videoClipIndex <= videoClips.Length; videoClipIndex++)
{
videoPlayer.clip = videoClips[videoClipIndex];
videoPlayer.Play();
}
这是我的下拉代码:
public class VideoDropdown : MonoBehavIoUr
{
public Dropdown dropdown;
void PopulateDropdown(Dropdown dropdown,VideoClip[] optionsArray)
{
List<string> options = new List<string>();
foreach (var option in optionsArray)
{
options.Add(option.name);
}
dropdown.ClearOptions();
dropdown.AddOptions(options);
}
private void Awake()
{
Dropdown myDropdown = GetComponent<Dropdown>();
VideoClip[] dropdownVideos = Resources.LoadAll<VideoClip>("Videos") as VideoClip[];
PopulateDropdown(myDropdown,dropdownVideos);
}
解决方法
c# 中的数组索引基于 0
=> 索引从 0
到 theArray.Length - 1
!
在 C# 中迭代数组时你总是想使用
i < theArray.Length
和不是
i <= videoClips.Length
最后,你为什么要迭代?您不想遍历整个数组并开始播放所有剪辑......您只想播放一个剪辑,例如
public void PlaySeletedVideo(int selectedIndex)
{
videoPlayer.clip = videoClips[selectedIndex];
videoPlayer.Play();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。