查看: 3220|回复: 8

一些很简单的小公式。

  [复制链接]

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
回帖
3667

第1届短篇游戏比赛亚军

发表于 2007-8-5 18:31:37 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
一点很简单却比较常用的,我做飞机,泡泡龙,弹力球与台球时候都用到的。

module Math
  
  #直边
  def self.tri_side(l1, l2)
      return (Math.sqrt(l2 ** 2 - l1 ** 2) + 0.5).to_i
  end
  
  #余
  def self.cos_a(angle)
      return Math.cos(angle*(Math::PI/180))
  end   
  
  #正   
  def self.sin_a(angle)
      return Math.sin(angle*(Math::PI/180))
  end      
  
  #x轴翻转
  def self.dir_value(n1, n2)
      return ((n1 + n2).abs != (n1.abs + n2.abs) ? -1 : 1)
  end

  #圆相交
def self.collision?(x1,y1,x2,y2,r)
     if (x1 - x2) **2 + (y1 - y2) **2 <= r ** 2
         return true
     end   
     return false
end
   
end
纵然千里外,我等雁归来。

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
回帖
3667

第1届短篇游戏比赛亚军

发表于 2007-8-5 18:31:37 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
一点很简单却比较常用的,我做飞机,泡泡龙,弹力球与台球时候都用到的。

module Math
  
  #直边
  def self.tri_side(l1, l2)
      return (Math.sqrt(l2 ** 2 - l1 ** 2) + 0.5).to_i
  end
  
  #余
  def self.cos_a(angle)
      return Math.cos(angle*(Math::PI/180))
  end   
  
  #正   
  def self.sin_a(angle)
      return Math.sin(angle*(Math::PI/180))
  end      
  
  #x轴翻转
  def self.dir_value(n1, n2)
      return ((n1 + n2).abs != (n1.abs + n2.abs) ? -1 : 1)
  end

  #圆相交
def self.collision?(x1,y1,x2,y2,r)
     if (x1 - x2) **2 + (y1 - y2) **2 <= r ** 2
         return true
     end   
     return false
end
   
end
纵然千里外,我等雁归来。
头像被屏蔽

苹果梨

梦石
0
星屑
43
在线时间
6 小时
注册时间
2007-2-14
回帖
674
发表于 2007-8-5 18:39:14 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
431
在线时间
125 小时
注册时间
2006-11-2
回帖
1177
发表于 2007-8-6 04:17:03 | 显示全部楼层
嗯,对大多数RMer没多大用处 对少数RMer有非常大用处的东东。

费心了,这些可是做小游戏的基础,有空好好研究下。
和记忆一起封存着的ID...
回复

使用道具 举报

Dancer-

梦石
0
星屑
55
在线时间
76 小时
注册时间
2006-11-9
回帖
3442

开拓者贵宾

发表于 2007-8-6 18:19:58 | 显示全部楼层
感觉做一些非RPG类的游戏可能会比较常用,所以也发主站了。
http://rpg.blue/web/htm/news814.htm
VIP 2
回复

使用道具 举报

名侦探小柯

梦石
10
星屑
4393
在线时间
3739 小时
注册时间
2006-9-6
回帖
36595

极短27获奖MZ评测员开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

发表于 2007-8-6 18:40:20 | 显示全部楼层
看不懂的说……
不定期回归 ~ 游戏开发之旅
———————————————————————————————
回复

使用道具 举报

Dancer-

梦石
0
星屑
110
在线时间
78 小时
注册时间
2006-5-15
回帖
3204
发表于 2007-8-6 18:49:08 | 显示全部楼层
...不是很明白....不过这种东西好浮云啊......
做特殊效果的时候或许能用到?
一个机缘巧合后,被改变了人生的第八年。
养着两只猫,可是我对猫过敏。
为了那终将到来的一天。
回复

使用道具 举报

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
回帖
3667

第1届短篇游戏比赛亚军

 楼主| 发表于 2007-8-7 22:32:09 | 显示全部楼层
最后一个有个错误,忘了从游戏脱离了,已修改,麻烦斑竹了。

module Math

#直边
def self.tri_side(l1, l2)
     return (Math.sqrt(l2 ** 2 - l1 ** 2) + 0.5).to_i
end

#余
def self.cos_a(angle)
     return Math.cos(angle*(Math::PI/180))
end   

#正   
def self.sin_a(angle)
     return Math.sin(angle*(Math::PI/180))
end      

#x轴翻转
def self.dir_value(n1, n2)
     return ((n1 + n2).abs != (n1.abs + n2.abs) ? -1 : 1)
end

#圆相交
def self.collision?(x1,y1,x2,y2,r)
     if (x1 - x2) **2 + (y1 - y2) **2 <= r ** 2
         return true
     end   
     return false
end
   
end
纵然千里外,我等雁归来。
回复

使用道具 举报

Dancer-Ne

梦石
0
星屑
50
在线时间
62 小时
注册时间
2006-7-29
回帖
973
发表于 2007-8-7 22:39:42 | 显示全部楼层
更新完毕~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部