分享好友 编程语言首页 频道列表

我尝试使用 Ruby 和 mittsu 库制作 3D 战斗动作游戏

ruby专题  2023-03-16 12:490

概述

这篇文章是关于我偶然发现的 hitbox 的回忆录。
2022 夏季鲁比训练营创造了这个游戏。
我的游戏仓库这里是。我们作为一个团队开发,有 4 名成员第一次见面,并第一次使用 Git 和 Github 进行开发。
使用的技术是Ruby,三通图书馆是。
我主要负责碰撞检测,所以如果我能帮助那些在碰撞检测方面遇到问题的人,我会很高兴。
4天的制作时间,包括创意提交

我想在这篇文章中说什么

遇到命中检测后如何修复的思考过程

游戏概览

3D乒乓球大战

安装

依赖于 Ruby 2.x、Mittsu、OpenGL 3.3+ 和 GLFW 3.1.x
三:https://github.com/danini-the-panini/mittsu

游戏内容

在 3D 空间中打乒乓球。
胜利条件:4分第一

操作方法

空间:启动和重新启动

左球拍

W:上移
A:向左移动
S:下移
D:向右移动

右球拍

↑:上移
←:左移
↓:下移
→:向右移动


这是一个演示视频。

硬点

  • 命中检测
    一开始是由板心到球心的距离决定的,所以只有板心的命中判断。
    Rubyとmittsuライブラリを使って3D対戦アクションゲームつくってみた
    另一方面,如果命中检测过大,则只会产生不协调感。因此,我决定在球拍后面创建一个碰撞判断对象,通过它与球的距离来判断它。
    Rubyとmittsuライブラリを使って3D対戦アクションゲームつくってみた
    我只是不知道我应该把它放多远。所以我做了一个官方(?)

Rubyとmittsuライブラリを使って3D対戦アクションゲームつくってみた
当我尝试实现它时,感觉很好,所以它似乎适合
但是,这仍然存在问题
Rubyとmittsuライブラリを使って3D対戦アクションゲームつくってみた
由于角落没有判断力,所以我通过扩大判断力来作弊(Gabba)

想法

多亏了它的正式发布,我很高兴即使球和球拍变大,击球检测也能正常工作。
作为反思,由于将各种函数放在主文件中,代码变得难以阅读。所以从下一次开始,我将编写代码,目的是将每个函数放在一个单独的文件中。
我在添加阴影时遇到了问题,所以下次我将尝试使用 Unity 而不是 Ruby 开发游戏。
非常感谢所有团队成员。


原创声明:本文系作者授权爱码网发表,未经许可,不得转载;

原文地址:https://www.likecs.com/show-308624602.html

查看更多关于【ruby专题】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
[ruby on rails] 跟我学之(6)显示指定数据
根据《[ruby on rails] 跟我学之路由映射》,我们知道,可以访问 GET    /posts/:id(.:format) 来显示具体的对象。 修改 app/controllers/posts_controller.rb的show这个action。这里有个难题,如果获取url里面的参数?可以通过params内置变量进行访问

0评论2023-03-16300

[ruby on rails] 跟我学之(10)数据输入验证
这里简单加上几个验证,非空,最小长度,唯一修改app/models/post.rb文件,如下:class PostActiveRecord::Base#attr_accessible :title, :contentvalidates :title, :context, :presence = truevalidates :title, :length = { :minimum =2}validates :title,

0评论2023-03-16870

[脚本_Ruby]Windows安装配置Ruby On Rails
感觉Java学的差不多了,想接触下Ruby On Rails,看看它比Java WEB高效到哪里了,在Ubuntu12.10上弄了两天总是报错提示没有指向的文件sqlite3,不管怎么安装sqlite3都不行,到最后没办法只有跑到WIN7平台下试试,以下就是我搭建Ruby On Rails的过程:    

0评论2023-02-10507

Prawn:Ruby生成PDF更简捷的选择
在InfoQ上看到《Prawn:使用Ruby生成PDF更简捷》,其说到的Prawn可以更加快捷的在Ruby中生成PDF文件。因为之前使用过很多版本的PDF生成类库都不尽如人意,有的太复杂,有的太慢,于是对这个做了测试。1、安装安装很简单,直接使用gem install prawn即可安装完

0评论2023-02-10471

Ruby On Rails:InstanRails
参考数据:对于Ruby On Rails 不是粉清楚的朋友可以参考以下的连结信息,该连结网站都提供不错的Ruby On Rails 信息。Ruby: 一个纯OO的脚本语言..Ruby on Rails: 快速建置Web的MVC架构的Framework说明:整合环境: Instant Rails 是在Windows环境中,整合了Ruby,

0评论2023-02-10701

进入Ruby on Rails世界
一、ruby和rails简介  ruby是一种面向对象的动态脚本语言。它的语法很灵活,而且提供了丰富的类库。因此,用ruby编写程序的效率是非常高的。  虽然ruby很早就出现了(1993年诞生于日本),但由于ruby一直缺乏英语文档,而且当时的ruby在web开发上并不怎么

0评论2023-02-10479

ruby : nil?, empty? and blank?的选择
article = nilarticle.nil?# = trueempty? checks if an element - like a string or an array f.e. - is empty:# Array[].empty? #= true# String"".empty? #= trueRails adds the method blank? to the Object class:An object is blank if it‘s false, em

0评论2023-02-09424

Ruby环境的安装(In Ubuntu 7.10)
今天开始学习Ruby。准备的图书呢,就是《Programming Ruby - 2nd》。为了准备一个实验的环境,于是要给我的Ubuntu上安装Ruby的环境。    1、安装解释器:sudo apt-get install ruby    2、安装一个即时执行工具irb:      由于第一部安装的结果只

0评论2023-02-09335

ruby使用IO类读写文件 ruby读取文件内容
path="test.txt"port=open(path)beginport.each_line{|line|p line.to_s}ensureport.closeendSTDOUT"i love you \n"port=open('test.txt')s=port.statp s.ftypep s.devp s.inop s.modep s.nlinkbegina=port.readlinesa=port.each{|e| p e}ensu

0评论2023-02-09410

Ruby1.9.2 开发环境安装备忘
在Windows下安装Ruby环境http://rubyinstaller.org/ 下载安装包和Devkit开发工具包Ruby的安装就不用说了。双击 Next.记得 Add to PATH Devkit 安装 把下载的压缩文件解压缩到如devkit文件夹中,例如:Ruby安装位置:D:\Ruby\Devkit安装位置:D:\Ruby\devkit 

0评论2023-02-09870

Python vs Ruby: 谁是最好的 web 开发语言?
Python 和 Ruby 都是目前用来开发 websites、web-based apps 和 web services 的流行编程语言之一。 这两种语言在许多方面有相似之处。它们都是高级的面向对象的编程语言,都是交互式脚本语言、都提供标准库且支持持久化。但是,Python 和 Ruby 的解决方法却

0评论2023-02-09819

Ruby require_gem
   gem 是ruby 的包管理系统,类似于ubuntu 的 apt-get.命令安装包:gem install your-package移除包:  gem uninstall your-package查询:     gem query –ln your-wanted (本地)             gem query –rn your-wanted (网上资源) 程序

0评论2023-02-09778

ruby 赋值语句解析
a = [1,2,3,4]-----------------------------------------------b,c = a      = b=1,c=2当右边只有一个数组,ruby自动将右边的数组拆分,然后赋值给左边的变量-----------------------------------------------b,*c = a    =b=1 ,c=[2,3,4]当左边变量

0评论2023-02-09341

Ruby on rails开发从头来(五十四)- ActiveRecord基础(指定关联关系)
Rails支持三种表间关联关系,一对一,一对多,多对多,你需要在Model中加入声明来标识这些关联:has_one,has_many,belongs_to,has_and_belongs_to_many。一对一关联关系可能存在于象订单和发票这样的关系,一个订单只能有一个发票,在Rails中,我们这样指

0评论2023-02-09873

Ruby的require
require一般用来加载其它的类,如: #Ruby代码  :require 'dbi'  require "rexml/document"但是上面加载的是标准类库里面的文件,当然也可以是已安装的gems文件,但是如果是自己在本地写的文件,就不能直接用require了,而应该这样:#E7.4-1.rb Modul

0评论2023-02-09601

更多推荐