Articles of ruby

如何使用warble来打包libgdx和ruby?

我的ruby代码如下 include Java Dir[File.expand_path "#{File.dirname(__FILE__)}/../libs/\*.jar"].each { |x| require x; puts "go"} module LibGDX include_package "com.badlogic.gdx" include_package "com.badlogic.gdx.backends.lwjgl" include_package "com.badlogic.gdx.graphics" end class Game include LibGDX::ApplicationListener @LOG = Game.java.simple_name def create LibGDX::Gdx.app.log(@LOG, "Is a thing") end def resize width, height LibGDX::Gdx.app.log(@LOG, "Resizing game to #{width} by #{height}") end def render LibGDX::Gdx.gl.glClearColor(0, 0, 0, 0) LibGDX::Gdx.gl.glClear(LibGDX::GL20.GL_COLOR_BUFFER_BIT) end def […]

如何使用RGSS将文件从一个文件夹复制/移动到另一个文件夹?

我一直在试图做到这一点,但我只能findRuby的答案。 我正在尝试将文件从Game Directory/Graphics/Pictures/file.png移动或复制到Game Directory/file.png 。 我如何在RGSS中做到这一点?

Ruby on Rails的3Dgraphics引擎

我在Ruby on Rails方面有了好几个月的经验,创建了自己的CMS系统,社交networking,甚至还有一个支持VOIP的电话应答机。 我也是一个成熟的3D模型制作者,我真正想要做的是创建一个在浏览器中执行的3D游戏。 我不是在说“孤岛危机:在线”或“在线”,甚至是“末日”。 没有太多的graphics/内存密集。 不是射手。 我只是想创建一个简单的解谜游戏,可以在浏览器中访问隐藏的对象游戏。 也许沿着Myst III +游戏的路线。 从技术上来说,他们是非常简单的游戏,但是通过将相机放置在3D球体内,其内表面具有适当扭曲的2D渲染,使玩家认为他们正在探索“完全”3D世界。 他们不是实时的,我真的认为这可以在网上完成。 也许这些高分辨率图像带宽存在一些问题,但是通过在需要一段时间才能打开的门之后隐藏加载屏幕,我认为可以实现无缝的体验。 那么,有没有一个简单的ruby3D引擎? 开源,有一个伟大的社区? 道歉,如果你认为我是漫不经心,我​​已经漫步,希望它会给你一个很好的感觉,我的技术要求:)

我怎样才能得到一个图片的宽度和高度?

我想在RPG Maker XP上制作一个脚本,需要图片的宽度和高度来做一些计算。 我尝试了@picture.bitmap.width和@picture.bitmap.height但它返回了屏幕上显示的图像的宽度和高度。 例如,如果图像高度为800像素,图像占用400像素,那么@picture.bitmap.height将只返回400.这是我正在使用的代码: @picture = Sprite.new @picture.bitmap = RPG::Cache.picture("picture") @pictureWidth = @picture.bitmap.width @pictureHeight = @picture.bitmap.height

游戏引擎从哪里添加对象的位置?

我已经开始用ruby(Gosu)做我的第一场比赛(一场乒乓球比赛)。 我试图通过比较对象(一个球)和另一个球员(一个球员)的位置来检测两个图像的碰撞。 例如: if (@player.x – @ball.x).abs <=184 && (@player.y – @ball.y).abs <= 40 @ball.vx = -@ball.vx @ball.vy = -@ball.vy 但是我的问题是,有了这些数字,球有时会在球员附近碰撞,即使球员的尺寸是正确的。 所以我的问题是从哪里开始计算x值? 它是从图像的重心还是从图像的开始? (即当你在特定的x,y,z上添加图像时,与图像相比,这些值是多less?

ruby碰撞检测

我正在用ruby做一个简单的乒乓球比赛。 我这样做了碰撞检测: def collides_with(player) ((@x + @image.width >= player.x) && (@x <= player.x + player.image.width)) && ((@y + @image.height >= player.y) && (@y <= player.y + player.image.height)) end 如果这是真的,我把球的y坐标乘以-1(改变它的方向): @ball.vy *= -1 除了在球移动时球到达桨的左侧(或右侧)的情况之外,这是按预期工作的。 这会使球移动到桨的内部,这看起来很奇怪。 我该怎么办才能解决这个问题?

Ruby:对井字游戏进行alpha-beta修剪

所以,alpha-beta修剪似乎是除了硬编码之外的最有效的algorithm(针对tic tac toe)。 但是,我有问题转换algorithm从链接中提供的C + +示例: http : //www.webkinesia.com/games/gametree.php 玩家是1或0,所以做1人玩家将会切换玩家 WIN = 1 LOSS = -1 DRAW = 0 INFINITY = 100 def calculate_ai_next_move best_move = -1 best_score = -INFINITY cur_player = COMPUTER self.remaining_moves.each do |move| self.make_move_with_index(move, cur_player) score = -self.alphabeta(-INFINITY,INFINITY, 1 – cur_player) self.undo_move(move) if score > best_score best_score = score best_move = move […]

如何取消libGosu中的同时冲突?

我正在做一个小行星重拍。 当玩家的子弹击中大meteor时,它应该分裂成2个较小的meteor。 当玩家只发射一颗子弹时,这种方法是有效的,但是当玩家的武器升级时,射击多颗子弹,有时两颗子弹同时击中同一颗meteor,导致它分裂成4颗小颗星,而不是2颗。 当两个同时发生碰撞时,是否有办法消除其中一个碰撞?或者,当两颗子弹同时撞击同一个meteor时,是否可以省略创建不需要的额外meteor? 以下是我如何设置当前的碰撞检测: Bullet.each_collision(Meteor1) do |bullet, meteor| Explosion.create(:x => meteor.x, :y => meteor.y) Meteor2.create(:x => meteor.x, :y => meteor.y) Meteor2.create(:x => meteor.x, :y => meteor.y) meteor.destroy bullet.destroy @score += 100 Sound["media/audio/explosion.ogg"].play(0.2) end 以下是显示情况的截图: 前碰撞,1颗子弹http://img.ufgame.com/2d/2k4fbb.png 碰撞后,1颗子弹http://img.ufgame.com/2d/288m4bl.png 在前两张图片(上图)中,玩家每次射出一颗子弹,大meteor分成两个较小的meteor,得分增加100。 预碰撞,3颗子弹http://img.ufgame.com/2d/2vlrud2.png 后碰撞,3颗子弹http://img.ufgame.com/2d/33mr53k.png 在最后两张照片中,玩家一次发射三颗子弹,大meteor分裂成四颗小meteor,由于同时发生碰撞,得分增加了200。

Railgun Ruby – 是否有文档?

我终于在网上find了Railgun Ruby,并安装了它。 但我找不到任何文件。 有没有人玩过它? 有没有人还有一个很好的文档呢? 我想看看它能做什么。 谢谢。 你的,乔恩。

在RPGMaker中进行循环animation时移动

我做了一个自定义的类来显示在RPGMaker XP中的人物肖像这里是类: class Poser attr_accessor :images def initialize @images = Sprite.new @images.bitmap = RPG::Cache.picture('Character.png') #100×300 @images.x = 540 #place it on the bottom right corner of the screen @images.y = 180 end end 在地图上创建一个事件来创建一个实例作为全局variablestada! 图像popup。 好,好。 但是我不满意,现在我想让它有像animation一样的animation(就像我们呼吸时,有时候会上下颠簸一样),所以我增加了另一种方法: def move(x,y) @images.x += x @images.y += y end def animate(x,y,step,delay) forward = true 2.times { step.times { […]