è¿ä¸¤å¤©çµæºä¸å¨ï¼å¤§æ¦æè ¾äºä¸ªdemo
ï¼ps: å客ç«çCDNå¨å¢å¤ï¼HKï¼ï¼å¦æå·ä¸åºå¾çè¯ï¼è¯·å°è¯æ¹åä¸ä¸ä¸ç½æ¹å¼ãï¼

ææä¸æç¹åUnityèªå·±å®¶çProject Tiny飿 ·ï¼Buildä¹åå¾å°çæ¯ä¸ä¸ªçº¯HTML5çå端åºç¨ã


ä¸è¿ä¸åäºTinyï¼æä»¬è¿é设计çè¿æ¯ç¸å¯¹ä¼ ç»çGameObject+ç»ä»¶è¿ç§å¼åæ¹å¼ï¼åºæ¯->GameObject->ç»ä»¶ï¼èéDOTSé£å¥ã
使ç¨GameObject æå¨ç»ä»¶çæ¹å¼ç¼è¾åºæ¯ï¼ç¼åC#代ç ï¼å¹¶å¨æå»ºæ¶å¯¼åºHTMLåºç¨ã
å ä¸ºææ¶æ²¡æç®æå®åå®ï¼å°±åæ ¹æ²¡å¾GitHub䏿´ï¼å¤§æ¦åç¹ä¸è¥¿ ç®æ¯è®°å½ä¸ä¸ï¼
é¦å æ¯å¤§æ¦æè·¯ï¼
è¿ç©æå ¶å®ç¸å½äºæ¯ä¸ä¸ªç¬ç«ç弿æè è¯´æ¡æ¶äºï¼åUnityçRuntimeåºæ¬ä¸æ²¡å ³ç³»ãç®å大ä½ä¸å¯ä»¥å为两个é¨åï¼
ä¸ä¸ªæ¯æ ¸å¿æ¨¡å(core)ï¼è¿é¨åæ¯ä¸ä¸ªç¬ç«çãä¸Unityæ å ³çç¬ç«å·¥ç¨ï¼ç±C#åTypeScriptç¼åã卿 ¸å¿æ¨¡åä¸ï¼æä¸å¥éæ°å®ç°çGameObjectåCompomentçæºå¶ãæ ¸å¿æ¨¡åå¯ä»¥ç´æ¥ç¨æ¥ç¼åä¸å¡é»è¾å¹¶æå»ºHTMLåºç¨ï¼ä¸éè¦ç¼è¾å¨ã

å¦ä¸ä¸ªé¨åå°±æ¯é对Unityçæ©å±ï¼æcoreé¨åçä¸è¥¿åUnityå ³èèµ·æ¥ã
å¨åºç¨æå»ºæ¶ï¼Unityçæ©å±é¨å伿å¨ç¼è¾å¨ä¸ç¼è¾çåºæ¯ãPrefabsçå 容读ååºæ¥ï¼å卿Jsonæ¾è¿HTMLåºç¨çèµæºä¸ï¼ï¼æä»¬ææ¶å¨HTMLåºç¨ä¸æSceneãPrefabsä»ä¹çé½ç»ç§°ä¸ºStageï¼ï¼ç¶å卿µè§å¨ä¸è¿è¡æ¶ï¼Core伿åç§GameObjectæ ¹æ®JSONå è½½åºæ¥å¹¶æå¨Componentsï¼ç±Coreæ¥ç»´æ¤æ´ä¸ªåºç¨ççå½å¨æï¼å¹¶æéè¦æ¾ç¤ºçå 容ç»å¶å¨Canvasä¸ã
æä»¥ï¼è½ç¶è¯´æ¯ç¨Unityå¼åHTMLåºç¨ï¼ä½åºæ¬ä¸åUnityæ¬èº«æ²¡å¥å ³ç³»äºï¼åªæ¯åç¨å°äºUnityçç¼è¾å¨ãèå¨åºç¨è¿è¡æ¶ï¼å°±æ¯ä¸ªå纯çHTMLåºç¨äºï¼å°±æ²¡Unityçäºäºï¼å ¶å®Tinyä¹åè¿æ¯TypeScriptçæ¶å乿¯è¿ä¹å¹²çï¼ç°å¨ä¸æ¸ æ¥ï¼è¿æ²¡ç»çè¿å®çå®ç°ï¼
乿£æ¯å 为ä¸è¿°çåçï¼æä»¥æä»¬å¨å®é åä¸å¡é»è¾çæ¶åï¼éè¦ææä»¬çä¸å¡ä»£ç åUnityçå 容ï¼UnityEngineå½å空é´çï¼æç¡®çåéå¼ãåçï¼å¨ç¼è¾åºæ¯çæ¶åï¼æä»¬ä¹ä¸è½æè½½Unityæä¾çç»ä»¶ï¼ç®åUnityçCanvasçå 个ç»ä»¶é¤å¤ï¼å¯¼åºçæ¶åä¼èªå¨å¿½ç¥ï¼ã
ä¹å°±æ¯è¯´ï¼MonoBehaviour乿¯ä¸è½ç¨äºãæä»¬èªå·±å®ç°äºä¸ä¸ªBehaviourç±»ï¼ç¨å®å®ä¹ç¬¦å·åäºåéï¼å¨ç¼è¾å¨ä¸ï¼ç»§æ¿èªMonoBehaviourï¼ä»¥ä¾¿æä»¬å¨ç¼è¾å¨ä¸æå¨ç»ä»¶åè°è¯ãèå¨æå»ºHTMLåºç¨æ¶ï¼MonoBehaviouré¨åçä¸è¥¿å°±ä¼è¢«å¥ç¦»ï¼ç±Coreæ¥ç®¡çè¿äºç»ä»¶ã

ï¼å¨ç¼è¾å¨ä¸è°è¯è¿ä»¶äºï¼ç®åç设计æ¯ç¨å®å®ä¹å¨ç¼è¾å¨ä¸ç»§æ¿Unityçç»ä»¶ï¼æ¯å¦ç®åçLableå¨ç¼è¾å¨ä¸ä¼ç»§æ¿èªUnityEngine.UI.Textï¼è¿æ ·åçç®åçåç¨UnityçRuntimeæ¥è°è¯åºç¨ï¼å¦ä¸æ¹é¢å¯ä»¥ç´æ¥ç¨Unityç´æ¥çæ¹å¼æå»ºAppãå½ç¶ç®åè¿ä¸ªæ³æ³ææ²¡æä»ä¹åè¿ä¸ç¥éï¼è¿æ²¡å¾ä¸æ·±å ¥çåï¼æ²¡éå°åææ¶ãï¼
æµè§å¨éè¿è¡C#çé®é¢ï¼
æè ¾è¿ç©æï¼ææ ¹æ¬çç®çæ¯ææ³ç¨C#åHTML5åºç¨ç©ãæä»¥æµè§å¨éè·C#çé®é¢å°±ä¸å®å¾è§£å³äºã
常è§çæ¹æ³æä¸¤ç§ï¼ä¸ä¸ªæ¯WebAssemblyï¼å¦ä¸ä¸ªæ¯æC#ç¿»è¯æJavaScript.
æè¡¡äºåç§å ç´ ï¼ç®åçå®ç°çdemoä¸éæ©äºåè ï¼æä»¬å¨æå»ºåºç¨æ¶æC#ç¿»è¯æäºJavaScript. ï¼ä½å ¶å®ç´å°ç°å¨å¯¹äºä¸¤è çéæ©è¿æ¯ææä¸å®ï¼
è¿é使ç¨äºå¼æºé¡¹ç®Bridge.NETæ¥å®ç°è¿ä¸ªåè½ã æC#ç¿»è¯æJavaScriptå¨ç®åæå¤§ç好夿¯å 使å°ï¼å ¼å®¹æ§è¾å¥½ï¼GCä»ä¹çé®é¢ä¹ä¸å¤§ã