递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库

Easy2D游戏引擎

查看数: 190 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2025-6-28 09:39

正文摘要:

可以看到当时这位火友回复我的帖子了,我就在ta 之前的帖子中寻找练习(谐音)房市(谐音),询问关于场景回调如何解决,当时给我的回答是要提交给吴总,让我等待。等官方更新火山之后就可以看到这部分如何解决的 ...

回复

hcwanz 发表于 7 小时前
本帖最后由 hcwanz 于 2025-6-28 13:32 编辑

然后就是`嵌入式语法`的定位, 我觉得它不是用来解决问题的, 它只是个代码沟通的接口.
换句话说, 你在封装中遇到的任何问题都不应该和`嵌入式语法`有关, 都应该不依靠`嵌入式语法`解决.

你应该能做到就算不用任何`嵌入式语法`, 也可以把项目封装成火山可用的形式,
然后, 为了更方便使用, 去用`嵌入式语法`对代码进行优化

比如研究vulkan的时候, 就遇到过一段令我惊为天屎的代码, 别说封装了, 我连他为啥能存在都不知道:

  1. // 只是示例
  2. auto a = vector1 | vw::transform([](auto i)  
  3.                                {
  4.                                    i.调用函数();
  5.                                    return i.另一个返回函数();
  6.                                });
复制代码



这里用到了c++特有的 /* `|` 管道运算符; `auto`自动推导类型; `[](){}`匿名函数;  `vw::`c++stl的范围库 */
只有了解了c++你才能知道这段代码的每一个特性火山都用不了, 你得转成另一种形式, 然后再考虑封装:
(倒也不绝对, 我记得我之前研究过在火山中封装c++匿名函数的方法)

  1. 某个类型 转换函数( 另一类型 参数)
  2. {
  3.    参数.调用函数();
  4.   return 参数.另一个返回函数();
  5. }

  6. 类型 函数()
  7. {
  8.   ....
  9.   范围类型 a = rg::transform_view(vector1, 转换函数);
  10.   ....
  11. }
复制代码











hcwanz 发表于 7 小时前
本帖最后由 hcwanz 于 2025-6-28 13:06 编辑

提交还好说吧, 封个框架出来, 预估一下自己需要的封装时间和大概的代码量, 然后去问一下吴总有没有收的想法就行.

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2025-6-28 20:26 , Processed in 0.084817 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表