混搭的MINECRAFT第二部分

持续在我的世界混搭第一部分,我们开始有我的世界互动,并影响现实世界。

完整的文章中可以找到的MAGPI 41

控制一个与LED的Minecraft

与Python的的Minecraft API结合使用GPIO零,我们可以做一些令人惊讶的事情很干脆。GPIO零是新的Python编码库,使您能够快速,轻松地连接并与Python现实世界中控制物理电子学。

线材你的LED与我的世界工作

线材你的LED与我的世界工作

在这段代码中,你需要追捕一个特定的块; 你唯一的指南是一个LED灯。它闪烁,你在正确的方向头,快速闪烁为你亲近,成为坚实的光,当你非常接近它。

此代码跟踪玩家的位置,用一组块作为目标。作为玩家变得更接近和到块缩短的距离,该距离被用于改变在LED闪烁的时间延迟。有四个级别的闪烁:最慢的指示你一般都在朝着正确的方向,接下来的一步接近,下面是近,最后一个是在十个街区。固体光内的目标的四个街区发生,并且游戏中可以让你知道当你在屏幕上显示消息找到了它。

发现在LED的游戏块!

发现在LED的游戏块!

这个游戏的代码可以在GitHub上

用按钮控制的Minecraft

我们已经从的Minecraft输出其控制使用GPIO零的LED的一个例子; 现在谈论的输入如何使用。使用由Richard Hayler设计了一个项目,您可以创建有冰的力量,在您添加到面包板物理按钮的触摸在您的路径冻结块的效果。也可以使用一个电位器,也被称为可变电阻改变的功率的效果的范围内。

电线了冻结电路,此图

电线了冻结电路,此图

代码使用GPIO引脚的输入读数,并将其转换为数字代码可用。这然后产生将由玩家按下按钮时受到影响的块的范围内。当它压,在未取得的空气的范围块的选择有保存它们的坐标,这样他们可以全部设置为冰块。

该代码可以让你知道你的冰爆炸的力量,让你可以调整电阻,并找出如何得到它完美的配置。

[此处插入冰封参考]

[此处插入冰封参考]

抓住代码从GitHub,并有发挥。

节点RED和使用JavaScript控制的Minecraft

这篇文章应该给你在最近的一次CamJam鲍里斯Adryan教车间的味道。在这里,我们将向您展示节点-RED是多么容易使用。您可以参考原来的教程了很多更详细和理论。

查找史蒂夫的立场是唯一使用的Minecraft与节点-RED的开始

查找史蒂夫的立场是唯一使用的Minecraft与节点-RED的开始

制备

开始我的世界,并打开一个新的世界。从Raspbian桌面上的程序子菜单火起来节点红色。片刻之后,节点-RED是要在后台服务运行。打开网络浏览器(Iceweasel效果最佳节点-RED),并将其引导到127.0.01:1880看到的编程环境。在左边,有一个与结点的面板。这些可视化组件,你可以用它来建立自己的流程。在中间的是流编辑器,你可以简单地将一起放下你的流量。在右边,你可以帮助面板和调试面板之间进行切换。请注意,虽然“调试”经常有一些负面的含义,它在节点RED默认的文本输出。

的Hello World在我的世界

拖放从节点面板中注入节点插入流编辑器。一旦你选择了注入节点,应该看到它在帮助面板功能的一般性解释 – 这是尤其是当你选择使用许多不同的选择复杂的节点有用的信息。

在流编辑器双击您的注入节点。一旦相关的对话框打开,改变有效载荷键入“线”,并在下方的空白文本字段中写的’Hello World“。

的信息流是通过消息在节点-RED的交换,这通过沿可变称为味精传递发生建模。它有两个主要性能:主题和有效载荷。简单来说,这可以解释像电子邮件的主题和正文。拖放从节点库调试节点插入流编辑器。

拖放功能节点到编辑器。这是节点类型,可以让您直接与JavaScript中的味精对象交互。在你的功能节点,写 msg.payload =“chat.post(”+ msg.payload +“)\ n”; 与前行“回归味精;” 。这条线是要采取传入净荷’的Hello World“,和新的内容分配chat.post(的Hello World)\ n到变量。chat.post距离的Minecraft API,你可以在我的世界API目录中的文件名 ​​为mcpi_protocol_spec.txt阅读有关命令。我们的命令的结束由一个换行符,Unix的字符表示 \ n。

世界您好,节点RED风格

世界您好,节点RED风格

拖动和从节点面板的功能部分掉落TCP请求节点。该服务器是127.0.0.1,端口是4711。由于我们不期待一个返回值,我们将0毫秒的“一个固定的超时后”返回。该节点-RED连接到的Minecraft TCP套接字-如果你热衷于了解一个插座是什么,看看在原来的生产车间物料。

通过绘制连接连接节点,如这里的截图。通过在右上角按下红色按钮,部署启动您的流量。按圆角矩形的注射按钮立即左侧触发流动。你看在我的世界你的信息呢?

检索值的Minecraft

到目前为止,我们与互动的Minecraft已经相当单向的。我们刚刚发送的命令字符串,对在世界的Minecraft的效果。现在,我们要修改我们的流程,所以我们可以像查询通过API自己的位置值。

在功能节点,设置 msg.payload =“player.getPos()\ n”;与前行“回归味精;”。相反,一段时间后离开TCP请求节点,我们希望我们的回报“时,接收的字符’,即 的\ n。

默认情况下,TCP请求节点返回一个缓冲区,我们需要将信息从节点RED使用转换msg.payload = msg.payload.toString();在一个新的功能节点。这个新的功能节点的结果会直接给我们调试节点。

部署节点RED流。现在,大约有我的世界里散步,并触发与节点注入流动的。你看到你在调试面板所期待的?

你可以得到的流动从Node-RED网站的Hello World,其中也包含了流量球员位置的代码。

明天再来为我的世界混搭的第三个也是最后一部分!

标签

发表评论

Comment List(2)

  • Arcko

    2016.2.28 23:02

    混搭的MINECRAFT三部曲之二

  • Arcko

    2016.2.28 23:02

    混搭的MINECRAFT三部曲之二