查看原文
其他

牛X,腾讯跨游戏引擎平台的TypeScript运行时终于开源了!香!

huber Github中文社区 2020-10-08

点击上方“Github中文社区”,关注

看遍Github好玩的项目
第033期原创分享 作者:huber



大家好,我是hub哥

不知道有没有童鞋用TypeScript做过游戏的,大家都知道,TypeScript游戏相关的开源引擎是比较少的,然而就在前几天,腾讯却把自家一个游戏引擎给开源了:puerts

这玩意到底是个啥? 

一句话:Puerts是一个TypeScript游戏开发解决方案


几大特点


◆  开发者可以直接通过 ts / js 等脚本直接调用该游戏引擎API
       
做前端的童鞋都知道,JavaScript的生态已经有相当丰富的各类库和各种工具链,开发者可通过TypeScript访问宿主引擎的能力,这样的游戏开发方式会变得灵活强大

◆  Puerts 提供了一个JavaScript运行时

相比游戏领域常用的lua脚本,TypeScript的静态类型检查有助于编写更健壮,可维护性更好的程序,以往依赖运行时特性的游戏开发者,可快速上手该引擎
    
◆  跨游戏引擎

现在该引擎已经支持了主流的UE4、Unity的引擎。并且主流的平台比如 iOS,Android,Window,Mac 都是支持的

◆ 调试环境比较完善

目前支持nodejs的IDE、调试工具均可使用。

编程样例


这里就看下Unity和Unreal的编码例子吧

Unity
import {UnityEngine} from 'csharp'
UnityEngine.Debug.Log('hello world');let gameObject = new UnityEngine.GameObject("testobject");console.log(gameObject.name);gameObject.transform.position = new UnityEngine.Vector3(1, 2, 3);

Unreal
import * as UE from 'ue'import {argv} from 'puerts';
let world = argv.getByName("World") as UE.World;let actor = world.SpawnActor(UE.MainActor.StaticClass(),undefined, UE.ESpawnActorCollisionHandlingMethod.Undefined, undefined, undefined) as UE.MainActor;console.log(actor.GetName());console.log(actor.K2_GetActorLocation().ToString());

怎么样,这种游戏开发风格可还喜欢?做游戏的同学赶紧收藏 😄

传送门

https://github.com/Tencent/puerts





OK!到这就是这期分享

如果觉得文章有用,请点赞在看,分享。


历史原创


 18 禁警告!这个工具教你涂鸦画丁丁,数据还开源了★  模糊妹子图变超清!这个神器能让模糊图秒变4K高清,瞬间觉得PS也没那么香了 全球26个主流视频网站全搞定,都可以用这个神器下载原版高清视频, 包括你们最爱的P站! 1300家企业被纳入排名,996公司全部垫底,原来955公司居然有这么多!GitHub上这个项目火了!





点个在看呗!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存