幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2157|回复: 8

[RMXP] [求助]关于描绘脚本!!

[复制链接]

43

主题

144

帖子

73万

积分

⑧专业

积分
735605
发表于 2006-7-13 11:36:44 | 显示全部楼层 |阅读模式
怎样在脚本内描绘一个圆?圆形的!
回复

使用道具 举报

43

主题

144

帖子

73万

积分

⑧专业

积分
735605
 楼主| 发表于 2006-7-13 14:21:11 | 显示全部楼层
应该说是用脚本画圆
回复 支持 反对

使用道具 举报

43

主题

144

帖子

73万

积分

⑧专业

积分
735605
 楼主| 发表于 2006-7-17 19:40:30 | 显示全部楼层
不会也要说一声啊!让人白等!
回复 支持 反对

使用道具 举报

113

主题

866

帖子

7004

积分

⑦老手

pliskin

积分
7004
发表于 2006-7-20 19:37:57 | 显示全部楼层
class Scene_sizz
    def main
    @sizz_window = Window_sizz.new
    @sizz_window.x = 640
    @sizz_window.y = 480
    Graphics.transition
  loop do
Graphics.update
      Input.update
      @sizz_window.update
     
    if Input.trigger?(Input::B)
     $scene = Scene_Menu.new
       @sizz_window.dispose
      return
    end
      if $scene != self
        break
      end
    end
   Graphics.freeze
   @sizz_window.dispose
  end
end
class Window_sizz < Window_Base
  def initialize
   super(0, 0, 640, 480)
   self.contents = Bitmap.new(width - 32, height-32 )
   refresh
end
def refresh
    self.contents.clear
       color=crisis_color
     self.contents.drawcircle(300, 240, 30, crisis_color)
      end
   end
----------------------------------------------------------------
#圆形的绘制
class Bitmap
def drawcircle(x0, y0, r, color, start=0, fin=360)
x0 = 300  #圆心
y0 = 240  #圆心
r = 30    #半径
fin += 360 if fin < start
for i in start...fin
  x = x0 + Integer(r * Math.cos(Math:I * i / 180))
  y = y0 + Integer(r * Math.sin(Math:I * i / 180))
  color = Color.new(255, 255, 64, 255)          #颜色的设置
  self.set_pixel(x, y, color)  #描点
end
end
end

-----

核心在最后一段,前面都是废话
最近,迷上八云紫大婶了
回复 支持 反对

使用道具 举报

113

主题

866

帖子

7004

积分

⑦老手

pliskin

积分
7004
发表于 2006-7-21 16:38:20 | 显示全部楼层
这种描点的脚本有点另类,还有点难度
一般没有多少人愿意去搞
最近,迷上八云紫大婶了
回复 支持 反对

使用道具 举报

88

主题

4889

帖子

38万

积分

版主

年度最佳拖稿王

Rank: 7Rank: 7Rank: 7

积分
386227

声命组铜赏

QQ
发表于 2006-7-22 05:11:21 | 显示全部楼层
一个图就解决了嘛.............-3-
回复 支持 反对

使用道具 举报

113

主题

866

帖子

7004

积分

⑦老手

pliskin

积分
7004
发表于 2006-7-22 07:30:17 | 显示全部楼层
引用第5楼XTLCME2006-07-22 05:11发表的“”:
一个图就解决了嘛.............-3-

图片做的话,达不到某些效果

比如:以上的东西可以任意的变换圆的大小;用图片做的话,多少图片也是不够的.
       如果楼主对描点算法一窍不通,那就不管了.....
最近,迷上八云紫大婶了
回复 支持 反对

使用道具 举报

79

主题

617

帖子

6150

积分

⑦老手

暗夜下可怜人

积分
6150
发表于 2006-7-22 08:54:20 | 显示全部楼层
画圆有两种方式,
一种是利用三角函数逐点描绘。
一种是利用半径当做Y轴填充直线矩形。
后者比前者快的多,虽然在图很小的时候不明显,但半径超过200就能感觉出来。

不知LZ要的时候什么效果,最好用图片来显示圆,大小随时可变,一点也不卡。
只是当需要曲线切割圆时用图片才比较复杂,不如脚本描绘方便。
希望破灭是因为发现真实,宁可背负罪孽也要维护爱我之人,永远的娜乌西卡!!!!!!
回复 支持 反对

使用道具 举报

88

主题

4889

帖子

38万

积分

版主

年度最佳拖稿王

Rank: 7Rank: 7Rank: 7

积分
386227

声命组铜赏

QQ
发表于 2006-7-22 09:25:37 | 显示全部楼层
"这条路不行就换一条路走"

-3-  走捷径就好了嘛........图片也可以通过缩放, 旋转来着
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-28 20:33 , Processed in 0.011923 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表