国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一)

這篇具有很好參考價值的文章主要介紹了unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1.新建一個空白項(xiàng)目

unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)

2.為編輯器添加IL2CPPunity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)

3.為vs2019+添加c++開發(fā)環(huán)境

unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)

4.unity更改設(shè)置

unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)

unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)

5.獲取hybirdcrl插件,打開packagemanager,輸入url:

https://gitee.com/focus-creative-games/hybridclr_unity.git

unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)

unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)

6.創(chuàng)建熱更新文件夾,創(chuàng)建dll文件,在插件設(shè)置中放入

unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)

unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)

unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)

unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)

unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)

7.加載

unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)

unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)

8.代碼實(shí)現(xiàn):(注意代碼邏輯)

(1)在asstes建立StreamingAsstes文件夾,后面用于存放熱更的加載文件

最終目錄如圖

unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)

其中HybridCLRGenerate是installer自動生成的

(2)進(jìn)入代碼,在AOT目錄中建立Con**.cs和LoadDll.cs

unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ConsoleToScreen : MonoBehaviour
{
? ? const int maxLines = 50;
? ? const int maxLineLength = 120;
? ? private string _logStr = "";

? ? private readonly List<string> _lines = new List<string>();

? ? public int fontSize = 15;

? ? void OnEnable() { Application.logMessageReceived += Log; }
? ? void OnDisable() { Application.logMessageReceived -= Log; }

? ? public void Log(string logString, string stackTrace, LogType type)
? ? {
? ? ? ? foreach (var line in logString.Split('\n'))
? ? ? ? {
? ? ? ? ? ? if (line.Length <= maxLineLength)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? _lines.Add(line);
? ? ? ? ? ? ? ? continue;
? ? ? ? ? ? }
? ? ? ? ? ? var lineCount = line.Length / maxLineLength + 1;
? ? ? ? ? ? for (int i = 0; i < lineCount; i++)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if ((i + 1) * maxLineLength <= line.Length)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? _lines.Add(line.Substring(i * maxLineLength, maxLineLength));
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? _lines.Add(line.Substring(i * maxLineLength, line.Length - i * maxLineLength));
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? if (_lines.Count > maxLines)
? ? ? ? {
? ? ? ? ? ? _lines.RemoveRange(0, _lines.Count - maxLines);
? ? ? ? }
? ? ? ? _logStr = string.Join("\n", _lines);
? ? }

? ? void OnGUI()
? ? {
? ? ? ? GUI.matrix = Matrix4x4.TRS(Vector3.zero, Quaternion.identity,
? ? ? ? ? ?new Vector3(Screen.width / 1200.0f, Screen.height / 800.0f, 1.0f));
? ? ? ? GUI.Label(new Rect(10, 10, 800, 370), _logStr, new GUIStyle() { fontSize = Math.Max(10, fontSize) });
? ? }
}
*****************************************

using HybridCLR;
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.Networking;

public class LoadDll : MonoBehaviour
{

? ? void Start()
? ? {
? ? ? ? // Editor環(huán)境下,HotUpdate.dll.bytes已經(jīng)被自動加載,不需要加載,重復(fù)加載反而會出問題。
#if !UNITY_EDITOR
? ? ? ? Assembly hotUpdateAss = Assembly.Load(File.ReadAllBytes($"{Application.streamingAssetsPath}/HotUpdate.dll.bytes"));
#else
? ? ? ? // Editor下無需加載,直接查找獲得HotUpdate程序集
? ? ? ? Assembly hotUpdateAss = System.AppDomain.CurrentDomain.GetAssemblies().First(a => a.GetName().Name == "HotUpdate");
#endif


? ? ? ? Type type = hotUpdateAss.GetType("Begin");
? ? ? ? type.GetMethod("Startit").Invoke(null, null);
? ? }
}

(3)分別在場景中掛載兩個腳本

unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)

(4)在HotUpdate目錄下寫腳本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Begin
{
? ? public static void Startit()
? ? {
? ? ? ? Debug.Log("Hello, HybridCLR");
? ? }
}
?

(泛型與單例模式,泛型不需要定義量的具體類型,先構(gòu)建方法,在使用的時候聲明其類型,單例模式下一個類只能存在唯一的一個實(shí)體,方便其他代碼訪問,地位相當(dāng)于中央銀行)

(5)生成打包一下 點(diǎn)擊All

unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)

10.unity打包游戲,完成后進(jìn)行文件替換,將編輯文件下的D:\unity\hytest\HybridCLRData\HotUpdateDlls\StandaloneWindows64/HotUpdate.dll,重命名為HotUpdate.dll.bytes,放到游戲生成后的目錄C:\Users\creator\Desktop\hy\hytest_Data\StreamingAssets下

11.當(dāng)對 Begin腳本內(nèi)容進(jìn)行修改時,點(diǎn)擊ActiveBuildTarget然后再次重復(fù)操作10即可

unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一),學(xué)習(xí)

12.手動熱更新begin的delog后,運(yùn)行游戲后打印信息會更新發(fā)生變化。文章來源地址http://www.zghlxwxcb.cn/news/detail-840731.html

到了這里,關(guān)于unity hybird熱更新實(shí)戰(zhàn)學(xué)習(xí) 小白(一)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Unity Xlua熱更新技術(shù)學(xué)習(xí)指南

    Unity Xlua熱更新技術(shù)學(xué)習(xí)指南

    熱更新是商業(yè)網(wǎng)絡(luò)游戲必不可少的一項(xiàng)技術(shù),而基于lua的熱更新技術(shù)又是Unity商業(yè)網(wǎng)游項(xiàng)目中的一個主流選擇。 部分同學(xué)近期表示自己在面試中被面試官提問熱更新相關(guān)知識,但由于對熱更新能力有所缺失,最后遺憾的與心儀工作失之交臂。 由此可見,還是有一部分同學(xué)不了

    2024年04月23日
    瀏覽(24)
  • 【Unity開發(fā)必備】100多個 Unity 學(xué)習(xí)網(wǎng)址 資源 收藏整理大全【持續(xù)更新】

    【Unity開發(fā)必備】100多個 Unity 學(xué)習(xí)網(wǎng)址 資源 收藏整理大全【持續(xù)更新】

    眾所周知,工欲善其事必先利其器,有一個好的工具可以讓我們事半功倍,有一個好用的網(wǎng)站更是如此! 但是好用的網(wǎng)站真的太多了,收藏夾都滿滿的(但是幾乎沒打開用過??)。 所以本文是對Unity相關(guān)的網(wǎng)站進(jìn)行一個資源整合,可以讓我們更方便的去學(xué)習(xí)Unity的更多知識內(nèi)容

    2024年02月16日
    瀏覽(25)
  • 【Unity引擎技術(shù)整合】 Unity學(xué)習(xí)路線 | 知識匯總 | 持續(xù)更新 | 保持樂趣 | 共同成長

    【Unity引擎技術(shù)整合】 Unity學(xué)習(xí)路線 | 知識匯總 | 持續(xù)更新 | 保持樂趣 | 共同成長

    前言 本文對 Unity引擎 的知識進(jìn)行了一個整理總結(jié),基本包含了Unity中大部分的知識介紹。 網(wǎng)上也有很多Unity相關(guān)的學(xué)習(xí)資料,但大多數(shù)都不成體系,學(xué)起來的時候難免會東奔西走的摸不著頭腦。 本文整理的多數(shù)文章都是有對應(yīng)的 系列性文章專欄 ,可以更方便的進(jìn)行系統(tǒng)學(xué)習(xí)

    2024年02月03日
    瀏覽(22)
  • 學(xué)習(xí)unity需要的計(jì)算機(jī)配置及預(yù)算(更新)

    unity對電腦的配置要求還是比較高的 ,這類處理圖形界面的東西都是需要消耗一些計(jì)算機(jī)資源的,但Unity的建模、蒙皮、渲染、加特效等操作是比較吃電腦配置的,所以需要的配置也相對好一些。 如果你在家使用的話建議用臺式機(jī)性價比高一些,如果你用筆記本的話可以選擇

    2024年02月04日
    瀏覽(23)
  • 【Unity 實(shí)戰(zhàn)100例】 教程 專欄《導(dǎo)航目錄帖》帶你深入學(xué)習(xí)Unity實(shí)戰(zhàn)經(jīng)驗(yàn)

    【Unity 實(shí)戰(zhàn)100例】 教程 專欄《導(dǎo)航目錄帖》帶你深入學(xué)習(xí)Unity實(shí)戰(zhàn)經(jīng)驗(yàn)

    ??前言 本文章為 Unity 實(shí)戰(zhàn)100例 教程 專欄 導(dǎo)航帖,正在積極更新中! 本系列博客爭取把Unity入門階段的實(shí)戰(zhàn)小項(xiàng)目都包含住 本專欄適用人群 :對Unity有一個基本的認(rèn)識,開始上手Unity的實(shí)戰(zhàn)內(nèi)容的小伙伴。 當(dāng)然你也完全可以零基礎(chǔ)觀看本系列博客 如果需要速學(xué)Unity也可以來

    2024年02月12日
    瀏覽(23)
  • Hybird開發(fā),webview和H5交互

    封裝一個統(tǒng)一的接口,供H5頁面調(diào)用原生的功能,比如獲取設(shè)備信息、打開相機(jī)、分享內(nèi)容等。這樣,H5頁面只需調(diào)用這個接口,而無需關(guān)心具體的原生實(shí)現(xiàn)細(xì)節(jié)。 H5端調(diào)用: 直接調(diào)用API: 為了實(shí)現(xiàn)在 H5 頁面中傳遞回調(diào)函數(shù)給原生代碼,我們可以通過另外一種方式:使用隨機(jī)

    2024年02月17日
    瀏覽(20)
  • 小白的初次更新------Perl教程(上)

    小白的初次更新------Perl教程(上)

    大家好啊,我來更新第二篇博客了,這篇博客給大家分享一下Perl的教程 分為了上中下三篇哦~~~ ????????????????????????????? 我滴主頁 : ? ? ? 小石榴與兄棣伙的結(jié)合體(*^▽^*)_-CSDN博客 ?希望大家三連+關(guān)注?。?! Perl 是 Practical Extrac

    2024年02月08日
    瀏覽(22)
  • 【Spring源碼】小白速通解析Spring源碼,從0到1,持續(xù)更新!

    【Spring源碼】小白速通解析Spring源碼,從0到1,持續(xù)更新!

    https://www.bilibili.com/video/BV1Tz4y1a7FM https://www.bilibili.com/video/BV1iz4y1b75q DefaultListableBeanFactory(最原始) 創(chuàng)建(實(shí)例化)–依賴注入–-初始化–銷毀 bean–推斷構(gòu)造方法(默認(rèn)是無參構(gòu)造,或指定的構(gòu)造方法)–實(shí)例化成普通對象(相當(dāng)于new bean) –進(jìn)行依賴注入(bean里的屬性)

    2024年02月12日
    瀏覽(21)
  • android界面開發(fā)詳解,Unity實(shí)戰(zhàn)問題--Loading更好的實(shí)現(xiàn)方式,714頁P(yáng)DF的鴻蒙學(xué)習(xí)筆記,

    android界面開發(fā)詳解,Unity實(shí)戰(zhàn)問題--Loading更好的實(shí)現(xiàn)方式,714頁P(yáng)DF的鴻蒙學(xué)習(xí)筆記,

    最后進(jìn)度條的效果顯示如下: 進(jìn)度條并沒有連續(xù)的顯示加載的進(jìn)度,而是停頓一下切換一個數(shù)字,再停頓一下切換一個數(shù)子,最后在沒有顯示100%就情況下就切換到主場景了。究其原因在于 Application.LoadLevelAsync 并不是真正的后臺加載,它在每一幀加載一些游戲資源,并給出一個

    2024年04月26日
    瀏覽(26)
  • 零基礎(chǔ)小白如何自學(xué) Unity 游戲開發(fā)?(送 Unity 教程)

    零基礎(chǔ)小白如何自學(xué) Unity 游戲開發(fā)?(送 Unity 教程)

    有很多同學(xué)對 游戲開發(fā) 很感興趣,但都不知道從何學(xué)起,缺乏目的性,往往會走不少彎路,本文正是為了幫助大家少走彎路。 “游戲開發(fā)”看似只有四個字,但涉及的內(nèi)容有很多,包括 UI、建模、繪畫、動畫系統(tǒng)、粒子系統(tǒng)、圖形學(xué)、物理系統(tǒng)等等。內(nèi)容多需要學(xué)習(xí)的知識

    2023年04月09日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包