本文实时更新原址:https://ebitencookbook.vercel.app/docs/CookBook_Start/class1

第一课 安装 Ebiten

欢迎大家来到 Ebiten 中文教程.

今天我们正式开始学习Ebiten的开发.

安装开发环境

也可以参照官方教程(中文文档): https://ebiten-zh.vercel.app/documents/install.html

1. 安装操作系统

没有的话建议remake.

2. 安装依赖

使用Windows系统的朋友请直接跳到下一步.

FreeBSD 比较特殊,需要先安装桌面环境,详情见官方教程.

C编译器

macOS,Linux,FreeBSD需要先安装C编译器(基本上使用gcc)

macOS

据说在最新的MacOS上,在命令行输入clang后,如果没有C编译器,系统会引导您安装.

其他版本的MacOS还可以通过brew install gcc安装.

:::important

如果在安装时报出以下错误:

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

可以通过运行 xcode-select --install 来安装.

:::

Linux

以Linux发行版Ubuntu为例,运行:

sudo apt install gcc

其他发行版请使用各自的包管理器或源码安装gcc.

FreeBSD

如果使用pkg作为包管理器,就运行:

pkg install clang

当然也可以源码安装.

安装其他依赖

Linux 发行版

Debian/Ubuntu

sudo apt install libc6-dev libglu1-mesa-dev libgl1-mesa-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev libxxf86vm-dev libasound2-dev pkg-config

Fedora

sudo dnf install mesa-libGLU-devel mesa-libGLES-devel libXrandr-devel libXcursor-devel libXinerama-devel libXi-devel libXxf86vm-devel alsa-lib-devel pkg-config

Solus

sudo eopkg install libglu-devel libx11-devel libxrandr-devel libxinerama-devel libxcursor-devel libxi-devel libxxf86vm-devel alsa-lib-devel pkg-config

Arch

sudo pacman -S mesa libxrandr libxcursor libxinerama libxi pkg-config

Alpine

sudo apk add alsa-lib-dev libx11-dev libxrandr-dev libxcursor-dev libxinerama-dev libxi-dev mesa-dev pkgconf

FreeBSD

pkg install alsa-lib libxcursor libxi libxinerama libxrandr mesa-libs pkgconf

3. 安装Golang

没有的话还是建议remake.

如果还没安装的话,可以到golang.google.cn/dl(国内镜像)或go.dev/dl(全球)下载.

建议直接装最新版本,因为 Ebiten 向上兼容.

:::important

Ebiten v2.2.5 要求最低Go版本: 1.15.

:::

如果您在控制台(CMD或bash等)输入 go version 后,命令行输出类似以下的内容,证明Golang安装成功.

$ go version
go version go1.17.5 windows/amd64

4. 下载Ebiten库

:::important

如果您在中国大陆地区,可以使用goproxy.cn提供的国内代理加速.

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

:::

运行以下指令:

go get github.com/hajimehoshi/ebiten/v2

:::note

这里一定不要漏掉最后的v2,否则会安装Ebiten v1.12.

:::

5. 测试安装

运行以下指令,测试安装是否成功.

go run -tags=example github.com/hajimehoshi/ebiten/v2/examples/rotate

当你的屏幕上出现了一个窗口,并显示下面这幅图片,证明Ebiten安装成功并可以成功编译运行example/rotate.

!end time: 2022-04-03 23:50

EbitenCookBook中文教程 第一课:安装 Ebiten的更多相关文章

  1. OpenCV 第一课(安装与配置)

    OpenCV 第一课(安装与配置) win10,opencv-2.4.13, 安装, vs2013, 配置 下载安装软件 官网OpenCV下载地址下载最新版本,我下载的是opencv.2.4.13,然 ...

  2. [原创]零基础R语言教程---第一课---认识R语言

    教程的录制的确是折腾了一番,一连录了二十多遍,有时候激动的说错了字,有时候不知道下一句说啥.. 不过好在第一课已经搞定了,哈哈. 虽然内容现在看起来还有点简单, 不过牛b也是一个过程嘛. 我会坚持下去 ...

  3. C++自学教程第一课——你好世界,我是柠檬鲸。

    C++系列教程现在在自己学校的一个博客平台发布,几个朋友一起搭建的 [C++基础教程系列](https://blog.ytmaxoj.org/cpp_basic_liuary-0/) 下面是原来的正文 ...

  4. Nehe OpenGL教程第一课-创建一个OpenGL窗口(Win32)

       原文英文地址为:Creating an OpenGL Window (Win32),翻译的chm中文格式文档下载地址为:OpenGL教程电子书(chm格式)中文版,源代码在官网上也可以下载到,每 ...

  5. CodeIgniter框架入门教程——第一课 Hello World!

    本文转载自:http://www.softeng.cn/?p=45 今天开始,我将在这里连载由我自己编写的<CodeIgniter框架入门教程>,首先,这篇教程的读着应该是有PHP基础的编 ...

  6. NeHe OpenGL教程 第一课:OpenGL窗口

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  7. Android OpenGL教程-第一课【转】

    第一课 快速的开始一个Android OpenGL项目 首先,读懂我们的教程,需要有android的初步基础,我们这里只是通过android提供的SDK,来进行OpenGL的学习,所以你必须先学习如何 ...

  8. [nRF51822 AK II 教程]第一课,开发环境的配置及背景介绍【转】

    低功耗蓝牙4.0是全新的技术,并不向下兼容,也就是说它和蓝牙3.0.2.0什么的都不能通信的.另外,蓝牙4.0目前的规范只能做外设和主机(智能手机,电脑等)通讯,也就是说你想用一个单模的蓝牙4.0开发 ...

  9. 第一课 安装wamp环境

    1.准备 怎样选择PHP的版本 IIS 如果想使用IIS配置PHP的话,那么需要选择Non-Thread Safe(NTS)版本的PHP Apache 如果你是用的Apache的版本来自Apache ...

随机推荐

  1. PC微信聊天记录数据迁移恢复

    PC微信聊天记录数据迁移恢复   本文章仅仅是PC微信聊天记录从一台电脑迁移到另外一台电脑恢复办法,主要适用于更换电脑,或重装系统,用户想保存PC微信中数据和文件. 1.查看微信记录的保存文件夹 设置 ...

  2. JDK ThreadLocal解析

    Java ThreadLocal解析 ThreadLocal 线程本地变量, 线程私有, 在 Thread 类中用 ThreadLocal.ThreadLocalMap threadLocals 以数 ...

  3. Lua中如何实现类似gdb的断点调试—09支持动态添加和删除断点

    前面已经支持了几种不同的方式添加断点,但是必须事先在代码中添加断点,在使用上不是那么灵活方便.本文将支持动态增删断点,只需要开一开始引入调试库即可,后续可以在调试过程中动态的添加和删除断点.事不宜迟, ...

  4. vue中使用js-cookie插件

    js-cookie是一个用于处理 cookie 的简单.轻量级 JavaScript API,官方文档:https://www.npmjs.com/package/js-cookie. 一.安装 np ...

  5. 1357:车厢调度(train) ybt

    1357:车厢调度(train) [题目描述] 有一个火车站,铁路如图所示,每辆火车从A驶入,再从B方向驶出,同时它的车厢可以重新组合.假设从A方向驶来的火车有nn节(n≤1000n≤1000),分别 ...

  6. gdk-pixbuf tiff_image_parse函数整数溢出漏洞

    受影响系统:gdk-pixbuf gdk-pixbuf 2.36.6描述:CVE(CAN) ID: CVE-2017-2870 gdk-pixbuf是一个用于以各种格式加载图像和像素缓冲处理的库. 使 ...

  7. 4月4日 python学习总结 os pickle logging

    1.序列化和反序列化 我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling. 反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickl ...

  8. bzoj5130 字符串的周期(kmp,最小表示法)

    bzoj5130 字符串的周期(kmp,最小表示法) bzoj 题解时间 m很大,n很小. 周期很容易求,就是kmp之后n-fail[n]. 之后对于枚举所有的字符串用最小表示法,暴力搜索. 能过就完 ...

  9. 羽夏看Win系统内核——消息机制篇

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...

  10. java 基础知识(三)

    Arraylist与Vector的区别 清浅池塘 程序员,专栏:Java那些事儿唯一作者,咨询前请先点详细资料   162 人赞同了该文章 这几天工作有点忙,有很多代码需要写,更新文章有点慢,说声抱歉 ...