我想使用脚本将“垂直滚动”添加到“画布”。 我在画布上添加了N个GameObject,并将它们一个接一个地放置。 现在,我想向画布添加垂直滚动,但是我不确定如何继续。 请帮帮我。 谢谢。
{
path: 'dossier/overig/pdf/:dossierEntryId',
component: DossierPdfComponent,
canActivate: [AuthGuard]
},
答案 0 :(得分:0)
我想您想要的是一个垂直滚动的ScrollView对象。 因此,根据Unity documentation,创建UI元素运行时的最佳方法是创建该UI元素的Prefab,并根据需要设置属性。
因此,在您的情况下,您需要创建一个ScrollView的预制件,该预制件在ScrollRect组件中将Horizontal设置为false,Vertical设置为True,然后对该对象进行预制,并在脚本中使用它来实例化它。 / p>
public GameObject scrollPrefab;
void SpawnVerticalScrollView()
{
GameObject instance = Instantiate (scrollPrefab,GameObject.FindGameObjectWithTag ("Canvas").transform) as GameObject;
}
正如您所看到的,我还立即在同一行中将父对象分配给了实例化对象。
答案 1 :(得分:0)
我建议您不要使用函数Resources.Load
,因为Unity会说:“不要使用它。使用Resources文件夹会使细粒度的内存管理更加困难。因此,您需要使用使用滚动组件创建了预制件,并将此预制件链接添加到编辑器在Canvas中控制UI对象的主脚本中。当需要使用滚动预制件时,只需使用“实例化”功能,然后将控制脚本附加到Canvas对象上即可。例如:
public GameObject scrollingPrefab;
public void CreatePrefab(){
GameObject currentPrefab = Instantiate(scrollingPrefab, gameObject.transform);
}
此外,创建对象的坏方法是使用函数FindGameObjectWithTag
和其他“查找”功能。