<Unity3D 工作笔记>新手引导制作

做新手引导时,遇到上层引导手指,不能准确的找到偏移控件的位置


解决方法 我试过很多,但效果都不怎么理想,配置起来非常麻烦,与虎哥商量后,发现一个比较牛逼的方法


实现效果:
  
      界面被黑幕遮挡,只有引导的图标,在黑幕的前面,并颜色显示正常。


思路:


  1、找到原有图标,克隆它。
  2、将克隆的图标,放在指定的窗体上面(我这里做了一个引导,箭头的窗体)
  3、显示正常


核心代码如下:

//找到指定引导窗口的控件
GameObject Tygame = GameObject.Find("bnt1").transform;
//克隆这个控件
GameObject CopyObject = Instantiate(Tygame) as Transform;
//将两个控件设置成一个父级
CopyObject.parent = Tygame.parent;
//设置其坐标,角度,大小
CopyObject.localPosition = Tygame.localPosition ;
CopyObject.localRotation = Tygame.localRotation ;
CopyObject.localScale = Tygame.localScale ;
//将克隆的控件,移动至箭头窗口下,transform(箭头窗口)
CopyObject.parent = transform; 


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
可以使用 Kotlin 的协程来实现这个转换过程。您可以使用 `flow.collect()` 将数据从 `Flow<List<NoteContentEntity>>` 收集到可变的状态中,并使用 `mutableStateOf()` 函数来创建可变状态变量。下面是一个示例代码: ```kotlin import androidx.compose.runtime.mutableStateOf import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.collect import kotlinx.coroutines.launch fun convertFlowToList(flow: Flow<List<NoteContentEntity>>): MutableState<List<NoteContentEntity>> { val listState = mutableStateOf<List<NoteContentEntity>>(emptyList()) launch { flow.collect { listState.value = it } } return listState } ``` 在上面的代码中,我们首先创建了一个可变状态变量 `listState` 并将其初始化为空列表。然后我们启动了一个协程来收集数据库查询返回的流,并将其更新到 `listState` 变量中。最后我们返回 `listState` 变量。 您可以在 Android 中使用这个函数来将查询返回的流转换为可变状态变量,并在 Compose 组件中使用它来显示数据。下面是一个使用示例: ```kotlin val noteListState = convertFlowToList(noteDao.getAllNoteContent()) LazyColumn { items(noteListState.value) { noteContent -> NoteListItem(noteContent) } } ``` 在上面的代码中,我们首先调用 `convertFlowToList()` 函数将查询返回的流转换为可变状态变量 `noteListState`。然后我们使用 `LazyColumn` 组件显示查询返回的结果,并使用 `NoteListItem` 组件来显示每个笔记内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值