精灵球游戏控制器

图形化编程、JavaScript
Maker、LEGO、CPE
回复
头像
shaoziyang
帖子: 3917
注册时间: 2019年 10月 21日 13:48

精灵球游戏控制器

#1

帖子 shaoziyang »

每个玩精灵宝可梦游戏的人都希望手里拿着一个精灵球。现在你可以感觉到你手中有一只口袋妖怪
图片

Pokéball 控制器,由 Michael Brucato 创建。使用了 2 个电位计,以及安装了 2 个按钮和加速度计的 Circuit Playground Express (CPX)。

控制
  • 转动左旋钮时,播放器将向上或向下
  • 转动右旋钮时,播放器将向左或向右移动
  • 按下按钮 A 时,玩家将访问关键项目
  • 当按下按钮 B 时,玩家将访问主菜单
  • 当 Pokéball 被摇动时,玩家将与环境互动。
这个控制器是在神奇宝贝给予的启发下制作的。 Pokémon Platinum 是我玩过的第一批电子游戏之一。当被告知我们需要制作视频游戏控制器时,我立即想到了这款游戏,我已经在我的 PC 上进行了模拟。这是一款革命性的游戏,我想在设计和功能上都给它应有的控制器

图片

代码: 全选

let x = 0
let Set = 0
let MoveHorizontal = 0
let MoveVertical = 0
let MoveHorMap = 0
let MoveVertMap = 0
let ball = false
input.buttonA.onEvent(ButtonEvent.Click, function () {
    keyboard.key("A", KeyboardKeyEvent.Press)
})
input.buttonB.onEvent(ButtonEvent.Click, function () {
    keyboard.key("S", KeyboardKeyEvent.Press)
})
forever(function () {
    let pressed = false
    x = input.acceleration(Dimension.X)
    Set = Math.map(x, -10, 10, 0, 255)
    MoveHorizontal = pins.A2.analogRead()
    MoveVertical = pins.A5.analogRead()
    MoveHorMap = Math.map(MoveHorizontal, 0, 1023, 0, 10)
    MoveVertMap = Math.map(MoveVertical, 0, 1023, 0, 10)
    if (MoveHorMap == 10) {
        keyboard.functionKey(KeyboardFunctionKey.LeftArrow, KeyboardKeyEvent.Down)
        pause(200)
    } else if (MoveHorMap != 0 && MoveHorMap != 10) {
        keyboard.functionKey(KeyboardFunctionKey.LeftArrow, KeyboardKeyEvent.Up)
        keyboard.functionKey(KeyboardFunctionKey.RightArrow, KeyboardKeyEvent.Up)
        pause(200)
    } else if (pressed == false && MoveHorMap == 0) {
        keyboard.functionKey(KeyboardFunctionKey.RightArrow, KeyboardKeyEvent.Down)
    }
    if (MoveVertMap == 10) {
        keyboard.functionKey(KeyboardFunctionKey.UpArrow, KeyboardKeyEvent.Down)
        pause(200)
    } else if (MoveVertMap != 0 && MoveVertMap != 10) {
        keyboard.functionKey(KeyboardFunctionKey.UpArrow, KeyboardKeyEvent.Up)
        keyboard.functionKey(KeyboardFunctionKey.DownArrow, KeyboardKeyEvent.Up)
        pause(200)
    } else if (pressed == false && MoveVertMap == 0) {
        keyboard.functionKey(KeyboardFunctionKey.DownArrow, KeyboardKeyEvent.Down)
        pause(200)
    }
    if (ball == false && Set >= 35) {
        ball = true
        keyboard.key("x", KeyboardKeyEvent.Press)
        pause(1000)
    } else if (ball == true && Set <= 35) {
        ball = false
        keyboard.key("x", KeyboardKeyEvent.Up)
        pause(1000)
    }
})
https://www.hackster.io/mdbrucato/pokeb ... ler-67314d

回复

  • 随机主题
    回复总数
    阅读次数
    最新文章