Unity-如何以滑块的特定值实例化预制件

时间:2019-02-04 13:23:51

标签: c# unity3d slider instantiation

我正在根据等级制作2D游戏,在每个等级中,分数跟踪栏中都有三个检查点。玩家必须到达最低的检查点才能通过下一关,但如果到达第二和第三检查点,则将获得奖励。

我努力使用Slider作为评分栏。我的问题是:

是否可以在Start方法中存储滑块条的特定值,并在该位置实例化标记预制件?这是一个示例:

  • 级别1的滑块的最大值为100。
  • 我想实例化第一个标记,在y处有一些填充,在滑块的50位置,第二个标记在75位置,第三个标记在100位置。

我目前的逻辑是,我需要以某种方式获取我想要的值并找到他的Transform,但是我找不到编码的方法,我也不知道如何获得我想要的位置。

以下是一些图片来说明我要做什么:

Level 1 Image

Level 2 Image

2 个答案:

答案 0 :(得分:1)

i将获得滑块的width属性,然后将其除以slideMax,结果将是滑块上单个%的宽度。然后,您可以添加或减去这部分的倍数,以在栏上获得一个百分比的位置。

示例:slider.x = 50          slide.width = 200;

increment = slider.width/100; //这将导致两个像素,每个百分比两个像素。

因此您50%的展示位置为:sliderx+(increment*50);

请记住,这都是伪代码,旨在让您了解如何实现所需的结果

答案 1 :(得分:0)

我找到了解决方法!

基于我设法做到的见解:

Project2.dll

这可能不是执行我想要的最佳方法,但效果很好。

感谢所有尝试帮助我的人,您的见解非常有用。