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

Project1

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

[RMVX发布] PIa一段脚本

[复制链接]

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

跳转到指定楼层
1
发表于 2011-4-22 20:04:41 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
  1. class ZSprite<Sprite
  2.   def x=(v)
  3.     super(v)
  4.     @fucking=false if @fucking.nil?
  5.     if not @fucking
  6.       @real_x=v
  7.     end
  8.   end
  9.   def y=(v)
  10.     super(v)
  11.     @fucking=false if @fucking.nil?
  12.     if not @fucking
  13.       @real_y=v
  14.     end
  15.   end
  16.   def x
  17.     if @real_x.nil?
  18.       super
  19.     else
  20.       return @real_x
  21.     end
  22.   end
  23.   def y
  24.     if @real_y.nil?
  25.       super
  26.     else
  27.       return @real_y
  28.     end
  29.   end
  30.   def set_pos(xp,yp)
  31.     @fucking=true
  32.     self.x=xp
  33.     self.y=yp
  34.     @fucking=false
  35.   end
  36. end
  37.    
  38. class ZoomSprite
  39.   attr_accessor:sprites
  40.   attr_accessor:rect
  41.   def initialize(x,y,z,w,h)
  42.     @x,@y,@w,@h=x,y,w,h
  43.     @v=Viewport.new(x,y,w,h)
  44.     @v.z=z
  45.    
  46.   end
  47.   def update
  48.    
  49.     if @orect.nil? or @osprites.nil? or (@rect!=@orect) or (@sprites!=@osprites)
  50.       @osprites=@sprites
  51.       @orect=@rect
  52.       [email protected]_f/@rect.width.to_f
  53.       [email protected]_f/@rect.height.to_f
  54.       #p "hi"
  55.       for i in @sprites
  56.         i.viewport=@v
  57.         i.zoom_x=zx
  58.         i.zoom_y=zy
  59.         #p zx
  60.         i.set_pos(([email protected]),([email protected]))
  61.       end
  62.     end
  63.   end
  64. end
复制代码
使用方法
  1. zs=ZoomSprite.new(32,32,10000,100,100)
  2. zs.rect=Rect.new(0,0,100,100)
  3. t=ZSprite.new
  4. #p Datas.list["Pictures"]
  5. t.bitmap = Cache._load(Datas.list["Pictures"]["test.PNG"])
  6. t.x=0
  7. t.y=0

  8. t1=ZSprite.new
  9. #p Datas.list["Pictures"]
  10. t1.bitmap = Cache._load(Datas.list["Pictures"]["test.PNG"])
  11. t1.x=32
  12. t1.y=32


  13. zs.sprites=[t,t1]
  14. zs.update
  15. now=[0.00,0.00,100.00,100.00]
  16. from=Rect.new(0,0,100,100)
  17. tos=Rect.new(32,32,50,50)
  18. time=200
  19. @s=Sprite.new
  20. @s.bitmap=Bitmap.new(100,32)
  21. Graphics.wait(60)
  22. while true
  23.   Graphics.update
  24.   if time>0
  25.   now[0]+=(tos.x-now[0]).to_f/time.to_f
  26.   now[1]+=(tos.y-now[1]).to_f/time.to_f
  27.   now[2]+=(tos.width-now[2]).to_f/time.to_f
  28.   now[3]+=(tos.height-now[3]).to_f/time.to_f
  29.   time-=1
  30.   end
  31.   #zs.rect.x,zs.rect.y,zs.rect.width,zs.rect.height=now
  32.   zs.rect=Rect.new(*now)
  33.   @s.bitmap.clear
  34.   @s.bitmap.draw_text(0,0,100,32,now.to_s)
  35.   zs.update
  36. end
复制代码
相信没几个人用的到
哎呀,蛋疼什么的最有爱了

Lv1.梦旅人

百合乡の蕾咪

梦石
0
星屑
55
在线时间
151 小时
注册时间
2011-1-12
帖子
198
4
发表于 2011-4-22 21:39:12 | 只看该作者
没明白~~~
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

3
 楼主| 发表于 2011-4-22 21:17:19 | 只看该作者
蕾米莉亚·斯卡雷特 发表于 2011-4-22 20:52
说说结果是啥吧~~~

就是可以把多个Sprite同时放大什么的……放大的效果像FXT那样的= =
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

百合乡の蕾咪

梦石
0
星屑
55
在线时间
151 小时
注册时间
2011-1-12
帖子
198
2
发表于 2011-4-22 20:52:25 | 只看该作者
说说结果是啥吧~~~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 15:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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