本文实时更新原址: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. think php 7天免登录

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. jmeter关于入参转码encode问题

    我们的工作中,通过抓包经常会发现有很多入参都是被encode过一层,形成了如上图所示的样子: 这些参数我们是可以通过fiddler去转码的:但是如果我们要做jmeter的脚本,不可能每一次都手动去转码 ...

  3. 合并两个以单链表形式表示的关于x的多项式(基于c语言)

    只写函数内部的,不懂得可以看前面一篇文章对链表的实现: pLinklist addBothLinklist(Linklist* first,Linklist* second){ Linklist *n ...

  4. 使用SymPy

    最近工作的原因,需要进行一些积分运算,通过一些搜索得知了SymPy,记录一下使用历程. 1. SymPy介绍 SymPy是关于Symbolic Mathematics的Python库,它旨在成为一个功 ...

  5. Mybatis——动态sql+字符串匹配导致的判断问题

    在mybatis的学习中,狂神建议字符串匹配直接将模糊匹配的符号放在字符串中,如:匹配'keWord',那么实际所使用的参数应该为'%keyWord%' map.put("keyWord&q ...

  6. burp token爆破(DVWA high暴力破解)

    一.选择Pitchfork模式.选择要爆破的参数 二.options设置 找到optiops(设置)把线程设为1 配置Grep=Extract,点添加 点击Refetch  response 获取返回 ...

  7. 解决HTML中文乱码问题

    将HTML代码复制到一个新建的记事本 然后在记事本里面的操作 另存为 选择utf-8编码 新的那个html文本打开 中文已显示正常

  8. Oracle的数据优化(经常被问到)?

    以Oracle数据库举例:(a-G要求掌握,H一般为DBA操作,了解就可以了) a. 建库:已知将保存海量数据的时候,因为Oracle是通过用户来管理数据的, 第一步我们先建一个tableaspace ...

  9. 为什么 wait(), notify()和 notifyAll ()必须在同步方法或 者同步块中被调用?

    当一个线程需要调用对象的 wait()方法的时候,这个线程必须拥有该对象的锁,接 着它就会释放这个对象锁并进入等待状态直到其他线程调用这个对象上的 notify() 方法.同样的,当一个线程需要调用对 ...

  10. windows编写sh脚本在linux上不能执行

    报错:/bin/sh^M:bad interpreter: 编码没有被识别, vi *.sh Esc 输入 :set fileformat 查看文件格式(显示  fileformat=dos) Esc ...