Project1

标题: 一些很简单的小公式。 [打印本页]

作者: 美兽    时间: 2007-8-5 18:31
标题: 一些很简单的小公式。
一点很简单却比较常用的,我做飞机,泡泡龙,弹力球与台球时候都用到的。

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

作者: 美兽    时间: 2007-8-5 18:31
标题: 一些很简单的小公式。
一点很简单却比较常用的,我做飞机,泡泡龙,弹力球与台球时候都用到的。

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

作者: gpra8764    时间: 2007-8-5 18:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: K’    时间: 2007-8-6 04:17
嗯,对大多数RMer没多大用处 对少数RMer有非常大用处的东东。

费心了,这些可是做小游戏的基础,有空好好研究下。
作者: 叶舞枫    时间: 2007-8-6 18:19
感觉做一些非RPG类的游戏可能会比较常用,所以也发主站了。
http://rpg.blue/web/htm/news814.htm
VIP 2
作者: 越前リョーマ    时间: 2007-8-6 18:40
看不懂的说……
作者: 小真·爱舞    时间: 2007-8-6 18:49
...不是很明白....不过这种东西好浮云啊......
做特殊效果的时候或许能用到?
作者: 美兽    时间: 2007-8-7 22:32
最后一个有个错误,忘了从游戏脱离了,已修改,麻烦斑竹了。

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

作者: 絮儿    时间: 2007-8-7 22:39
更新完毕~




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1