查看: 2196|回复: 7

[已经解决] blt方法出错,提示未定义,这是什么原因呢?

[复制链接]
梦石
0
星屑
50
在线时间
14 小时
注册时间
2016-9-29
回帖
15
发表于 2016-11-22 16:24:30 | 显示全部楼层 |阅读模式

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

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

×
loop do
  Graphics.update
  viewport=Viewport.new(0,0,640,480)
  my_plane=Plane.new(viewport)
  my_plane1=Plane.new(viewport)
  file="Graphics/Battlers/079-Angel01"
  my_plane1.bitmap=Bitmap.new(file)
  src_rect=Rect.new(0,0,200,200)
  my_plane.bitmap.blt(0,0,my_plane1.bitmap,src_rect,123)
  my_plane1.bitmap.dispose
end
8443.tmp.jpg
梦石
0
星屑
50
在线时间
14 小时
注册时间
2016-9-29
回帖
15
 楼主| 发表于 2016-11-22 16:30:31 | 显示全部楼层
我的XP版本1.03,在帮助目录里,可以找到Bitmap的blt方法。
回复

使用道具 举报

老鹰

梦石
40
星屑
37812
在线时间
7091 小时
注册时间
2012-5-26
回帖
3297

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

发表于 2016-11-22 16:46:43 | 显示全部楼层
初步判定,myplane的bitmap属性未被初始化,在blt前加上一句my_plane.bitmap=Bitmap.new(宽, 高)

评分

参与人数 1星屑 +200 收起 理由
RyanBern + 200 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
14 小时
注册时间
2016-9-29
回帖
15
 楼主| 发表于 2016-11-22 16:54:48 | 显示全部楼层
百里_飞柳 发表于 2016-11-22 16:46
初步判定,myplane的bitmap属性未被初始化,在blt前加上一句my_plane.bitmap=Bitmap.new(宽, 高) ...

是的,已解决,谢谢哦{:2_287:}
回复

使用道具 举报

梦石
0
星屑
50
在线时间
14 小时
注册时间
2016-9-29
回帖
15
 楼主| 发表于 2016-11-22 17:10:24 | 显示全部楼层
百里_飞柳 发表于 2016-11-22 16:46
初步判定,myplane的bitmap属性未被初始化,在blt前加上一句my_plane.bitmap=Bitmap.new(宽, 高) ...

loop do
  Graphics.update
  viewport=Viewport.new(0,0,640,480)
  my_plane=Plane.new(viewport)
  my_plane1=Plane.new(viewport)
  my_plane.bitmap=Bitmap.new(640,480)
  my_plane1.bitmap=Bitmap.new(640,480)
  rect1=Rect.new(0,0,100,480)
  rect2=Rect.new(200,0,100,480)
  rect3=Rect.new(400,0,100,480)
  c1=Color.new(255,60,255)
  c2=Color.new(18,0,255)
  my_plane.bitmap.gradient_fill_rect(rect1,c1,c2,true)
  my_plane1.bitmap.gradient_fill_rect(rect2,c1,c2)
end
哥,再帮我看看 ,这条哪里有问题,一样的出错提示
回复

使用道具 举报

梦石
0
星屑
50
在线时间
14 小时
注册时间
2016-9-29
回帖
15
 楼主| 发表于 2016-11-22 17:26:09 | 显示全部楼层
XP是不是没有这条方法gradient_fill_rect?
回复

使用道具 举报

老鹰

梦石
40
星屑
37812
在线时间
7091 小时
注册时间
2012-5-26
回帖
3297

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

发表于 2016-11-22 18:57:31 | 显示全部楼层
本帖最后由 百里_飞柳 于 2016-11-22 18:59 编辑
bboodd 发表于 2016-11-22 17:26
XP是不是没有这条方法gradient_fill_rect?


你不去看XP的F1,总看vx或va的,这要怎么写脚本??

XP的F1中关于Bitmap类
方法
dispose
释放位图。如果已经释放的话则什么也不做。

disposed?
位图已经释放的话则返回真。

width
取得位图的宽。

height
取得位图的高。

rect
取得位图的矩形(Rect)。

blt(x, y, src_bitmap, src_rect[, opacity])
传送 src_bitmap 的矩形 src_rect(Rect)到该位图的座标(x,y)。

opacity 指定其不透明度,范围为 0 ~ 255。

stretch_blt(dest_rect, src_bitmap, src_rect[, opacity])
传送 src_bitmap 的矩形 src_rect(Rect)到该位图的矩形 dest_rect(Rect)。

opacity 指定其不透明度,范围为 0 ~ 255。

fill_rect(x, y, width, height, color)
fill_rect(rect, color)
以 color(Color)颜色填充该位图的矩形(x,y,width,height)或 rect(Rect)。

clear
清除位图全体。

get_pixel(x, y)
取得点(x,y)的颜色(Color)。

set_pixel(x, y, color)
设定点(x,y)的颜色为 color(Color)。

hue_change(hue)
转换色相。hue 指定色相(360 度)的位移。

这个处理会花费一些时间。而且,因为转换误差,多次反复转换会丢失颜色。

draw_text(x, y, width, height, str[, align])
draw_text(rect, str[, align])
在该位图的矩形(x,y,width,height)或 rect(Rect)中描绘字符串 str。

如果文本的长度超过矩形的宽度的话,则自动缩放为 60% 再描绘。

水平方向默认为左对齐,但是当 align 指定为 1 时为居中对齐,指定为 2 时为右对齐。垂直方向则总为居中对齐。

这个处理需要花费时间,尽量不要在每 1 帧中重描绘字符串。

text_size(str)
取得以 draw_text 方法描绘字符串 str 的矩形(Rect)。但是,不包含斜体的部分。


里面没有的方法,那就是没有。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
14 小时
注册时间
2016-9-29
回帖
15
 楼主| 发表于 2016-11-23 11:14:38 | 显示全部楼层
百里_飞柳 发表于 2016-11-22 18:57
你不去看XP的F1,总看vx或va的,这要怎么写脚本??

XP的F1中关于Bitmap类

嗯,我昨天是看了F1,没有这个方法,不确定所以问问。
另外我听人说XP比较好,使用更灵活,所以学的XP,但是没有找到教程,教程拿的是VX的。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部