unity到小游戏instantGame(流程演示,非内容制作 亲测可用)

unity到小游戏instantGame(开发流程演示,非内容制作 亲测可用)

写在前面

instantGame
后妈级教学,主打一个填自己的坑,有问题下方评论交流
根据此教程使用后的一点心得记录和可能出现的问题补充,instant-game-joker使用教程; (建议教程非游戏部分反复琢磨)

直接

冲冲冲

  1. unity版本使用2021.2.5f1c302,安装instantGame官方教程

  2. 下载插件,并导入到unity中,会多一个微信小游戏工具下载地址
    微信小游戏工具

  3. 确认autoStreaming的位置
    在这里插入图片描述

4.注册小游戏账号:官方教程,这里说明一点,只操作这两项即可,一个注册账号,一个选择服务类目随便选一个休闲就好了(服务类目如果不选就会默认是小程序,到时候会出现 找不到 app.json的报错
在这里插入图片描述
特别提醒,扫码登录微信小程序网页后,前往开发管理-> 开发设置 -> 服务器域名 在request合法域名 和 downloadFile合法域名中填写用到的域名。 如果游戏中使用到了其他类型的网络链接,如websocket,需要在socket合法域名内填写。
不然会遇到downloadFile:fail url not in domain ist

AutoStreaming使用到的域名: 请填写以下域名: https://a.unity.cn; https://a.unity3dcloud.cn; https://aa.unity3dcloud.cn; https://asset-streaming-content.unity.cn;
:如果后期扫码跑项目的时候,即使配置了域名相关的东西,仍然还是会出现 上面的报错,那么 请在微信中下拉之后找到对应的小程序然后长按删除,之后再重新扫码体验 参考解决办法 (此法如果能解决请留下一句666)

  1. 下载微信开发者工具 下载地址;这里使用微信小程序开发者工具,里面同时兼容多项就使用这个stable Build版本吧
    在这里插入图片描述

  2. UOS的CDN使用 ;参考教程使用教程4;注:新账户创建之后,仔细查找并选择CDN体验相关申请后才能正常使用,然后就能拿到相关的UOSID和密钥(减少一脸懵逼的可能性)

  3. 现在开始走 打包流程--------------打开刚才(步骤1)的unity项目使用autoStreaming进行资源处理使用教程2

  4. 微信工具转化步骤2,教程9

  5. 项目生成并上传后,使用微信开发者工具打开构建的目录中的minigame文件夹。开发者工具中没问题后,点击右上角上传

  6. 打开步骤4创建的后台,就可以在版本管理中看到上传的游戏,并且添加体验版后,添加成员管理,后可邀请成员扫码体验游戏

### 关于湖南大学(HNU)操作系统课程的相关作业 #### 1. **Fork/Join 实现** 在 `fork-join` 的实现过程中,主要目标是通过多进程协作完成特定的任务。具体来说,在 HNU 的操作系统课程中提到的 `fork-join.c` 文件中实现了这一功能[^3]。为了确保子进程能够按预期执行任务,通常会在子进程中加入延迟操作(如 `sleep(1)`),从而模拟实际场景中的计算时间。 以下是简单的 `fork-join` 示例代码: ```c #include <stdio.h> #include <stdlib.h> #include <unistd.h> void child_function() { sleep(1); // 添加延迟以模拟工作负载 printf("Child process working\n"); } int main() { pid_t pid = fork(); if (pid == 0) { // 子进程 child_function(); } else if (pid > 0) { // 父进程等待子进程结束 wait(NULL); printf("Parent process continues after join\n"); } return 0; } ``` --- #### 2. **关于数据访问与函数作用** 对于问题“前面题目读取的数据为何可以再次访问”,这可能涉及全局变量或静态存储区域的概念。如果某些数据被保存到程序的静态内存区,则即使局部变量生命周期已结束,这些数据仍然可以通过指针或其他机制继续访问[^2]。 至于具体的输入函数: - `<__isoc99_sscanf@plt>` 是标准库中的格式化字符串解析函数,用于从缓冲区中提取指定类型的值并存放到对应的变量中。 - `read_line` 函数通常是自定义实现的一个辅助工具,负责逐行读取用户输入的内容,并将其返回给调用者处理。 --- #### 3. **三级页表分页方式分析** 针对虚拟地址 `0x2B` 和 `0xDB` 的访问情况,假设系统采用了三级页表结构,则可能出现以下几种情形: - 如果对应页面未映射至物理内存,则会触发缺页中断; - 若存在有效映射关系但权限不足,则引发保护异常; - 正常情况下,TLB 或缓存命中可加速地址转换过程[^4]。 下面是一个简化版的页表查询逻辑伪代码: ```python def translate_virtual_address(virtual_addr, page_tables): level1_index = (virtual_addr >> 22) & 0x3FF level2_index = (virtual_addr >> 12) & 0x3FF pte_level1 = page_tables[level1_index] if not pte_level1.valid: raise PageFault() pte_level2 = pte_level1.next_table[level2_index] if not pte_level2.valid: raise PageFault() physical_frame_number = pte_level2.frame_number offset = virtual_addr & 0xFFF return (physical_frame_number << 12) | offset ``` --- #### 4. **综合总结** 上述内容涵盖了 HNU 操作系统课程的部分核心知识点,包括但不限于 `fork/join` 并发模型的设计、I/O 输入函数的功能解释以及复杂分页机制下的地址翻译流程。希望以上解答能帮助理解相关概念及其应用场景。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值