這2天在研究 mono 這個腳本語言
果然很好上手,主要是對C#比較了解
比較有名的像Unity3D就是使用這個開發的
分享一下成果
c++主要是用來做底層
然後再用mono腳本來寫遊戲主體的腳本
當然這東西可大可小,小的話你也可以當作管理工具
大的話,你也可以像我一樣把整個遊戲都交給mono去完成
我在這裡建2個場景測試用..
轉出後會存成Game.dll (轉出的名字可以自訂)
然後只要引擎沒什麼改變的話,只要替換這Game.dll就可以換成不同的遊戲了
執行結果
這是第一個場景,會貼上2張圖
一張會跑到畫面最右邊,再從左邊出來
按F3會跳去另一個場景
這裡是第二個場景,主要區分跟第一個場景不同
它只有把圖放大來畫...
怎麼樣是不是很簡單呢
相信你也可以弄出自己的腳本工具來..:)
稍微秀一下場景的code
這只是第一個場景的code
第一個跟第二個的code差不多
所以只放一個就好
相當的簡單吧
因為其它的code都被包好了
只要弄一弄就可以做成簡單的工具來使用
當然你也可以第一個場景做成解謎
第二個場景做成動作遊戲
第三個場景做成RPG這樣亂搞...冏rz
不過做這樣的主要好處,我覺得是跨平台比較方便吧
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
class GameSceneTest01 : GameScene
{
CTexture tex = null;
CFont font = null;
float x = 0;
float y = 0;
public GameSceneTest01()
{
}
public override void OnInitialize()
{
base.OnInitialize();
tex = CreateTexture();
tex.LoadTexture("data//000.jpg");
font = CreateFont();
font.SetText("[遊戲測試]#按Escape跳出遊戲#按F3跳到其它場景");
}
public override void OnRun()
{
base.OnRun();
x += 10;
if (x > 1280)
{
x = -300;
}
if (ScriptAPI.GetKeyPress(ConsoleKey.F3))
{
ManagedLibrary.GameTest.SetNextScene(ManagedLibrary.GameTest.eGameScene.eGameScene_Title);
}
}
public override void OnRender()
{
base.OnRender();
tex.Draw(x, y, 200, 200, 1.0f);
tex.Draw(400, 400, 200, 200, 1.0f);
font.DrawFont(50, 300);
}
}
[其它參考]
從遊戲腳本語言說起,剖析Mono搭建的腳本基礎
http://www.infoq.com/cn/articles/analysis-of-the-script-based-on-mono