查看: 3406|回复: 11

[已经过期] 怎样用脚本绘制图形?

  [复制链接]
梦石
0
星屑
48
在线时间
35 小时
注册时间
2011-7-16
回帖
26
发表于 2011-8-27 10:51:36 | 显示全部楼层 |阅读模式

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

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

×
怎样在地图界面或菜单界面用脚本绘制以下图形?
1.红色填充,长64宽32,在左上角的矩形。
2.白色填充,黑色边框,长64宽32,居中的矩形。
3.无填充,白色边框,长128,宽16,居中的矩形。
最好详细一点啊!

老黄鸡

梦石
4
星屑
45782
在线时间
7954 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2011-8-27 10:56:16 | 显示全部楼层
1,需要一个bitmap做画板,Sprite做容器,范例
  1. fux = Sprite.new
  2. fux.bitmap = Bitmap.new(64,32)
  3. fux.bitmap.fill_rect(0,0,64,32,Color.new(255,0,0,255))
复制代码
2,黑色边框需要画两次
  1. fux = Sprite.new
  2. fux.bitmap = Bitmap.new(64,32)
  3. fux.bitmap.fill_rect(0,0,64,32,Color.new(0,0,0,255))
  4. fux.bitmap.fill_rect(1,1,62,30,Color.new(255,255,255,255))
复制代码
3,同上
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

梦石
0
星屑
48
在线时间
35 小时
注册时间
2011-7-16
回帖
26
 楼主| 发表于 2011-8-27 11:01:56 | 显示全部楼层
fux2 发表于 2011-8-27 10:56
1,需要一个bitmap做画板,Sprite做容器,范例2,黑色边框需要画两次3,同上

顺便问一下:我看了F1里的Plane,请问它能用来干什么?也能绘制吗?
回复

使用道具 举报

小柯的徒弟

梦石
0
星屑
1925
在线时间
1157 小时
注册时间
2008-5-24
回帖
2994

贵宾

发表于 2011-8-27 11:04:19 | 显示全部楼层
本帖最后由 「旅」 于 2011-8-27 11:05 编辑
xcqxhb2011 发表于 2011-8-27 11:01
顺便问一下:我看了F1里的Plane,请问它能用来干什么?也能绘制吗?


plane就是把一个图片铺得整个画面都是~你可以试试——
  1. devil = Plane.new
  2. devil.bitmap = Bitmap.new("Graphics/Battlers/075-Devil01")

  3. loop do
  4.   Graphics.update
  5. end
复制代码
(勤于动手才是好孩子~)

要注意一下的是,plane没有x和y,想要移动它,只可以用ox和oy移动~

点评

从F1里复制的喵~ ——>好懒~  发表于 2011-8-27 11:34
为什么是devil捏XD  发表于 2011-8-27 11:15
回复

使用道具 举报

老黄鸡

梦石
4
星屑
45782
在线时间
7954 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2011-8-27 11:05:05 | 显示全部楼层
xcqxhb2011 发表于 2011-8-27 11:01
顺便问一下:我看了F1里的Plane,请问它能用来干什么?也能绘制吗?

这是用来表示循环图形的内部类,他由内部方法显示.Plane#bitmap方法可以获得图形位图
默认系统中的雾图形和远景图都是用这个产生的.
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

梦石
0
星屑
48
在线时间
35 小时
注册时间
2011-7-16
回帖
26
 楼主| 发表于 2011-8-27 11:12:18 | 显示全部楼层
「旅」 发表于 2011-8-27 11:04
plane就是把一个图片铺得整个画面都是~你可以试试——(勤于动手才是好孩子~)

要注意一下的是,plane没 ...

之前我照F1乱写了一个代码,想在x0,y0,w64,h32的位置、大小画框,为什么没用呢?
  1. va = Viewport.new(0,0,64,32)
  2. vb = Plane.new(va)
  3. vb.color = Color.new(255,255,255)
复制代码
(其实我自己都不知我写的是什么……)

点评

画矩形是fill_rect(0,0,64,32,Color.new(0,0,0,255))  发表于 2011-8-27 11:14
回复

使用道具 举报

老黄鸡

梦石
4
星屑
45782
在线时间
7954 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2011-8-27 11:14:35 | 显示全部楼层
xcqxhb2011 发表于 2011-8-27 11:12
之前我照F1乱写了一个代码,想在x0,y0,w64,h32的位置、大小画框,为什么没用呢?(其实我自己都不知我 ...

如果不会画到屏幕外面就不用指定视窗了(Viewport)
  1. fux = Sprite.new
  2. fux.bitmap = Bitmap.new(64,32)
  3. fux.bitmap.fill_rect(0,0,64,32,Color.new(255,0,0,255))
  4. fux.x,fux.y = 100,100
复制代码
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

梦石
0
星屑
48
在线时间
35 小时
注册时间
2011-7-16
回帖
26
 楼主| 发表于 2011-8-27 11:21:32 | 显示全部楼层
fux2 发表于 2011-8-27 10:56
1,需要一个bitmap做画板,Sprite做容器,范例2,黑色边框需要画两次3,同上

那么,如果要在菜单界面显示,这些代码要放在哪儿呢?
回复

使用道具 举报

老黄鸡

梦石
4
星屑
45782
在线时间
7954 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2011-8-27 11:25:16 | 显示全部楼层
xcqxhb2011 发表于 2011-8-27 11:21
那么,如果要在菜单界面显示,这些代码要放在哪儿呢?

如果图形不超出任何一个局域窗口(window_command,window_menustate),可以直接在
该window类得contents内描绘,contents属性也是一个bitmap类.
  1. self.contents.fill_rect(100,100,0,64,32,Color.new(255,0,0,255))#坐标注意调整
复制代码
如果超出窗口,就新建Sprite类随窗口出现和释放吧.
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

梦石
0
星屑
48
在线时间
35 小时
注册时间
2011-7-16
回帖
26
 楼主| 发表于 2011-8-28 10:30:01 | 显示全部楼层
因本人要上学,将在9月2日或9月3日回复!
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部