go語言遊戲程式設計初識 Ebiten

2021-10-11 03:26:07 字數 1875 閱讀 7332

ebiten是乙個簡單的使用純go實現的遊戲,使用這個庫即可以實現go語言**的學習,又可以實現對遊戲程式設計的了解。

讓我們以乙個hello world!開始ebiten的學習,

完整**實現如下:

執行效果如下:

匯入所需模組

其中import的兩個比較重要的庫,乙個是"github.com/hajimehoshi/ebiten"這裡面實現的事ebiten的核心**,"github.com/hajimehoshi/ebiten/ebitenutil"裡面實現的是ebiten常用的一些工具庫。

定義資料結構體

type game struct

game結構體,該結構體實現了ebiten.game介面。該介面實現了第三步中的三個介面函式:

實現ebiten.game介面

// 影象重新整理函式

// 這個介面會按照每秒60(預設)次的頻率進行呼叫

// 這個函式正常執行會一直返回nil的error,當返回非nil值時,你的game將會被掛起

func

(g *game)

update()

error

//繪圖函式

// 沒幀圖 都會呼叫draw函式進行繪製,如果你想要60幀,那你就得每秒呼叫該函式60次

func

(g *game)

draw

(screen *ebiten.image)

// 該介面接受外部尺寸,即桌面尺寸,返回遊戲尺寸,即無論桌面尺寸多大,遊戲的尺寸是固定的(返回的事固定值)

func

(g *game)

layout

(outsidewidth, outsideheight int

)(screenwidth, screenheight int

)

主函式呼叫

ebiten.setwindowsize(720, 480)設定視窗大小,要是不設定就使用預設視窗大小。

ebiten.setwindowtitle("hello world!")設定視窗標題

ebiten.rungame(&game{})遊戲主迴圈

Go語言 初識

go是乙個開源的程式語言。用途可以做web 開發,也可以做遊戲開發。高效能分布式系統領域,支援高併發。體驗寫乙個簡單的go程式 go語言的副檔名是 go 檔案。新建乙個test.go檔案package main import fmt func main 執行 go run test.go輸出hell...

初識go語言

恢復內容開始 初識go語言 入手一門新的語言,由於有python的基礎,可能會比較簡單點,畢竟各種程式語言之間是相通的 首先是當然是所以語言的第乙個程式,檔名的字尾是 go 這裡就不介紹go所需要的環境配置了 package main import fmt func main 一些簡單的東西,也不說...

初識Go語言

一 go語言的主要特性 開放源 的通用計算機程式語言。開放源 的軟體 以下簡稱開源軟體 更容易被修正和改進。雖為靜態型別 編譯型的語言,但go語言的語法卻趨於指令碼化,非常簡潔。卓越的跨平台支援,無需移植 這裡的跨平台主要是指計算架構和作業系統。全自動的垃圾 機制,無需開發者干預。go語言程式在執行...