设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3014|回复: 10
打印 上一主题 下一主题

[原创发布] 呼,。。一个快速attr图像的东西类似于attr_accessor的产物!

[复制链接]
梦石
0
星屑
681
在线时间
791 小时
注册时间
2011-10-20
帖子
2394

开拓者

跳转到指定楼层
1
发表于 2012-5-19 22:44:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
搞了半天这eval错误真难找啊!!不过终于没BUG了!
调用方案:attr_bitmap :变量名
用途:用此变量建立sprite-bitmap。如何书写变量名?
类似于bitmap(参数)的两种方式:
①变量名__宽_高
②变量名__文件名
完毕!
脚本如下:
  1. ###############################################################################
  2. #代码部分,不可删除!by end66rpg
  3. ###############################################################################
  4. module RPG
  5.   module Cache
  6.     def self.character(*args)
  7.       filename = [*args][0]
  8.       if [*args].size == 1
  9.         self.load_bitmap("Graphics/Characters/", filename)
  10.       else
  11.         hue = [*args][1]
  12.       end
  13.       if hue == nil
  14.         self.load_bitmap("Graphics/Characters/", filename)
  15.       else
  16.       self.load_bitmap("Graphics/Characters/", filename, hue)
  17.       end
  18.     end
  19.   end
  20. end

  21. def attr_bitmap *args
  22.   attr_accessor *args
  23.   ki = []
  24.   [*args].each{|a|
  25.   a = a.to_s
  26.   a=a.split("__")
  27.   a[1].gsub!(/_/){","}
  28.   begin
  29.     eval("b=[#{a[1]}]")
  30.     eval("b = #{a[1]}")
  31.     b
  32.   rescue
  33.     b = a[1].to_s
  34.   end
  35.   b.index(",") ? path = %w|Bitmap.new| : path = %w^RPG::Cache.picture RPG::Cache.character^
  36.   id=0
  37.   b.index(",") ? b : b = "'"+b+"'"
  38.   begin
  39.     eval"@#{a[0]} = RPG::Sprite.new"
  40.     eval"@#{a[0]}.bitmap = #{path[id]}(#{b})"
  41.   rescue
  42.     id += 1
  43.     retry unless id == path.size
  44.     print"没有找到#{b}。"
  45.   end
  46.     }
  47.   end
  48. ###############################################################################
  49. #测试部分,删除!
  50. ###############################################################################
  51. class B
  52.   #attr_bitmap :sprite__QQ#显示名字为QQ的图(从character和picture中搜索!)
  53.   attr_bitmap :sprite2__640_480#建立矩形图
  54.   #print"测试!变量:#{@sprite}\n#{@sprite2}"
  55. end
  56. ###############################################################################
  57. #www.66rpg.com
  58. ###############################################################################
复制代码
好累。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。我要糖。。。

评分

参与人数 3星屑 +220 收起 理由
飞3a + 6 凑整
sai90306 + 14 好像使用起來很方便?
Luciffer + 200 辛苦了。。。于是怎么用?

查看全部评分

欢迎点此进入我的egames.wink.ws,有RMQQ堂等

[url=http://rpg.blue/thread-317273-1-1.html]短篇八-赶选

http://yun.baidu.com/share/link?shareid=2158225779&uk=169642147&third=0


历险ARPG赢回你的疆域新的战斗模式?…………点击这里:[宋乱贼狂 for QQ堂]
http://rpg.blue/group-368-1.html
programing ....?
[url=http://rpg.blue/thrd-234658-1-1.html]

嗜谎者

梦石
2
星屑
16582
在线时间
3893 小时
注册时间
2010-9-12
帖子
9635

极短24评委极短23评委极短22评委极短21评委开拓者

2
发表于 2012-5-19 23:20:45 | 只看该作者
你叫一个脚本盲的我是想怎样TwT。。。

点评

就当方便你定义个sprite  发表于 2012-5-19 23:52
= =汗随便召唤了一些人,你会用不就得了?  发表于 2012-5-19 23:31
回复 支持 反对

使用道具 举报

梦石
0
星屑
55
在线时间
461 小时
注册时间
2008-11-19
帖子
607
3
发表于 2012-5-19 23:39:44 | 只看该作者
本帖最后由 sai90306 于 2012-5-19 23:40 编辑

同問 要怎麼用呢?
不知道我有沒有理解錯誤@@
是把圖片的載入事先寫成變量 然後要用到的時候直接從變量中取得嗎?

点评

小狗狗,( ⊙o⊙ )还需要改进下才好用==  发表于 2012-5-19 23:53
其实这玩意一点用也没有= =!  发表于 2012-5-19 23:52
回复 支持 反对

使用道具 举报

Fuzzy Ginkgo
Taciturn Knight

梦石
0
星屑
60650
在线时间
1933 小时
注册时间
2010-6-26
帖子
1605

烫烫烫开拓者

4
发表于 2012-5-20 06:58:46 | 只看该作者
filename = [*args][0]
写成
filename = args[0]
就好。

另外attr_bitmap还是标准的方法啊……为什么不支持多参数挤在一起呢
def attr_bitmap(sym, width, height)
然后不用eval
可以用
s = Sprite.new
s.bitmap = ......
self.instance_variable_set :"@#{sym}", s
我的言论只代表我个人的观点,不代表雇主及/或任何第三方的立场。
Opinions expressed are solely my own and do not express the views or opinions of my employer and/or any third parties.
捐赠 | GitHub
回复 支持 反对

使用道具 举报

梦石
0
星屑
50
在线时间
154 小时
注册时间
2011-7-9
帖子
423
5
发表于 2012-5-20 07:42:24 | 只看该作者
orzfly 发表于 2012-5-20 06:58
filename = [*args][0]
写成
filename = args[0]

姨,应该是可以多参数的...
还是你厉害..就用1个eval= =~
New Game:  【QQ堂4.6单机版】(9月新版!【点此】)个人提供快速网盘http://ad.jlweb.tk/upload/ --- 密码:abcdefg
激零工作室孵化中.....网游make中。。招收游戏监督一名,上线时间:5~12 小时 招收脚本员,美工数位。。
本人Q:330639889 验证:zs    ----广:愿意帮我宣传签名的,站内PM
下面的东西是什么?!请进:http://tieba.baidu.com/p/1453289014【2012最新炸弹型ARPG游戏,历时2年间断坚持制作!】
[img=646,262]http://ftp.66rpg.com/WEB_PLUS/attachment/forum/201203/28/1655578kbk8bqkfazk2
回复 支持 反对

使用道具 举报

双子人

梦石
0
星屑
3165
在线时间
3616 小时
注册时间
2009-4-4
帖子
4154

开拓者

6
发表于 2012-5-20 08:26:23 | 只看该作者
13.      if hue == nil

14.        self.load_bitmap("Graphics/Characters/", filename)

15.      else

16.      self.load_bitmap("Graphics/Characters/", filename, hue)



晕了……




30.    eval("b=[#{a[1]}]")

31.    eval("b = #{a[1]}")


还是晕……
回复 支持 反对

使用道具 举报

梦石
0
星屑
681
在线时间
791 小时
注册时间
2011-10-20
帖子
2394

开拓者

7
 楼主| 发表于 2012-5-20 08:46:58 | 只看该作者
hys111111 发表于 2012-5-20 08:26
13.      if hue == nil

14.        self.load_bitmap("Graphics/Characters/", filename)

= =~o
偶要糖= =

评分

参与人数 1星屑 +64 收起 理由
hys111111 + 64

查看全部评分

欢迎点此进入我的egames.wink.ws,有RMQQ堂等

[url=http://rpg.blue/thread-317273-1-1.html]短篇八-赶选

http://yun.baidu.com/share/link?shareid=2158225779&uk=169642147&third=0


历险ARPG赢回你的疆域新的战斗模式?…………点击这里:[宋乱贼狂 for QQ堂]
http://rpg.blue/group-368-1.html
programing ....?
[url=http://rpg.blue/thrd-234658-1-1.html]
回复 支持 反对

使用道具 举报

梦石
0
星屑
47
在线时间
175 小时
注册时间
2012-1-10
帖子
889
8
发表于 2012-5-20 08:52:34 | 只看该作者
我的用户组不能在群组评分
楼主辛苦了

点评

我的评分区间在-45~45,今日剩余32  发表于 2012-5-20 08:54
决心要开一个坑
<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=2300169753&site=qq&menu=yes"><img border="0" src="http://wpa.qq.com/pa?p=2:2300169753:51" alt="点击这里给我发消息" title="点击这里给我发消息"/></a>
回复 支持 反对

使用道具 举报

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

9
发表于 2012-5-20 10:33:22 | 只看该作者
可以别再召唤我了么亲= =b
回复 支持 反对

使用道具 举报

梦石
0
星屑
144
在线时间
628 小时
注册时间
2012-6-9
帖子
1321
10
发表于 2012-6-22 10:34:18 | 只看该作者
请问只是什么脚本嗯?
回复 支持 反对

使用道具 举报

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-2 21:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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