Project1
标题: 怎样用脚本绘制图形? [打印本页]
作者: xcqxhb2011 时间: 2011-8-27 10:51
标题: 怎样用脚本绘制图形?
怎样在地图界面或菜单界面用脚本绘制以下图形?
1.红色填充,长64宽32,在左上角的矩形。
2.白色填充,黑色边框,长64宽32,居中的矩形。
3.无填充,白色边框,长128,宽16,居中的矩形。
最好详细一点啊! dsu_plus_rewardpost_czw
作者: fux2 时间: 2011-8-27 10:56
1,需要一个bitmap做画板,Sprite做容器,范例- fux = Sprite.new
- fux.bitmap = Bitmap.new(64,32)
- fux.bitmap.fill_rect(0,0,64,32,Color.new(255,0,0,255))
复制代码 2,黑色边框需要画两次- fux = Sprite.new
- fux.bitmap = Bitmap.new(64,32)
- fux.bitmap.fill_rect(0,0,64,32,Color.new(0,0,0,255))
- fux.bitmap.fill_rect(1,1,62,30,Color.new(255,255,255,255))
复制代码 3,同上
作者: xcqxhb2011 时间: 2011-8-27 11:01
fux2 发表于 2011-8-27 10:56
1,需要一个bitmap做画板,Sprite做容器,范例2,黑色边框需要画两次3,同上
顺便问一下:我看了F1里的Plane,请问它能用来干什么?也能绘制吗?
作者: 「旅」 时间: 2011-8-27 11:04
本帖最后由 「旅」 于 2011-8-27 11:05 编辑
xcqxhb2011 发表于 2011-8-27 11:01
顺便问一下:我看了F1里的Plane,请问它能用来干什么?也能绘制吗?
plane就是把一个图片铺得整个画面都是~你可以试试——- devil = Plane.new
- devil.bitmap = Bitmap.new("Graphics/Battlers/075-Devil01")
- loop do
- Graphics.update
- end
复制代码 (勤于动手才是好孩子~)
要注意一下的是,plane没有x和y,想要移动它,只可以用ox和oy移动~
作者: fux2 时间: 2011-8-27 11:05
xcqxhb2011 发表于 2011-8-27 11:01
顺便问一下:我看了F1里的Plane,请问它能用来干什么?也能绘制吗?
这是用来表示循环图形的内部类,他由内部方法显示.Plane#bitmap方法可以获得图形位图
默认系统中的雾图形和远景图都是用这个产生的.
作者: xcqxhb2011 时间: 2011-8-27 11:12
「旅」 发表于 2011-8-27 11:04
plane就是把一个图片铺得整个画面都是~你可以试试——(勤于动手才是好孩子~)
要注意一下的是,plane没 ...
之前我照F1乱写了一个代码,想在x0,y0,w64,h32的位置、大小画框,为什么没用呢?- va = Viewport.new(0,0,64,32)
- vb = Plane.new(va)
- vb.color = Color.new(255,255,255)
复制代码 (其实我自己都不知我写的是什么……)
作者: fux2 时间: 2011-8-27 11:14
xcqxhb2011 发表于 2011-8-27 11:12
之前我照F1乱写了一个代码,想在x0,y0,w64,h32的位置、大小画框,为什么没用呢?(其实我自己都不知我 ...
如果不会画到屏幕外面就不用指定视窗了(Viewport)- fux = Sprite.new
- fux.bitmap = Bitmap.new(64,32)
- fux.bitmap.fill_rect(0,0,64,32,Color.new(255,0,0,255))
- fux.x,fux.y = 100,100
复制代码
作者: xcqxhb2011 时间: 2011-8-27 11:21
fux2 发表于 2011-8-27 10:56
1,需要一个bitmap做画板,Sprite做容器,范例2,黑色边框需要画两次3,同上
那么,如果要在菜单界面显示,这些代码要放在哪儿呢?
作者: fux2 时间: 2011-8-27 11:25
xcqxhb2011 发表于 2011-8-27 11:21
那么,如果要在菜单界面显示,这些代码要放在哪儿呢?
如果图形不超出任何一个局域窗口(window_command,window_menustate),可以直接在
该window类得contents内描绘,contents属性也是一个bitmap类.- self.contents.fill_rect(100,100,0,64,32,Color.new(255,0,0,255))#坐标注意调整
复制代码 如果超出窗口,就新建Sprite类随窗口出现和释放吧.
作者: xcqxhb2011 时间: 2011-8-28 10:30
因本人要上学,将在9月2日或9月3日回复!
作者: 时光机 时间: 2011-8-28 16:58
xcqxhb2011 发表于 2011-8-27 11:01
顺便问一下:我看了F1里的Plane,请问它能用来干什么?也能绘制吗?
通俗的讲是远景
作者: xcqxhb2011 时间: 2011-9-2 18:41
本帖最后由 xcqxhb2011 于 2011-9-3 14:24 编辑
我回来啦!
xcqxhb2011于2011-9-2 19:07补充以下内容:
我在Window_MenuStatus里的初始化目标里加入了代码:
- #--------------------------------------------------------------------------
- # ● 初始化目标
- #--------------------------------------------------------------------------
- def initialize
- super(0, 0, 480, 480)
- self.contents = Bitmap.new(width - 32, height - 32)
- refresh
- self.active = false
- self.index = -1
- fux = Sprite.new
- fux.bitmap = Bitmap.new(64,32)
- fux.z = 999
- fux.bitmap.fill_rect(0,0,64,32,Color.new(255,0,0,255))
- end
复制代码 的确显示了一个红框,可是在修改了x,y之后就不显示了,怎么回事?���
xcqxhb2011于2011-9-3 14:22补充以下内容:
好吧……我说实话……
我只是想自己试着画血条,可问了半天,却不知道怎样将血条画在菜单状态栏上……
要怎样画上去啊??