| 赞 | 664 |
| VIP | |
| 好人卡 | |
| 积分 | 345 |
| 经验 | |
| 最后登录 | 2024-7-10 |
| 在线时间 | 5096 小时 |
- 梦石
- 0
- 星屑
- 34459
- 在线时间
- 5096 小时
- 注册时间
- 2012-11-19
- 回帖
- 4715

|
发表于 2017-4-28 16:27:00
|
显示全部楼层
- class Team # by GKK
-
- def initialize
- [url=home.php?mod=space&uid=2667520]@view[/url] = Viewport.new(12,89,617,302)
- @view.z = 9998
- @back = Sprite.new(@view)
- @back.bitmap = RPG::Cache.picture("角色队列.png")
- @vieww = Viewport.new(0,0,640,480)
- @vieww.z = 9999
- @sprite = Sprite.new(@vieww)
- @sprite.bitmap = Bitmap.new(640,480)
- #------------------------------------------------------------------------
- # 下面的刷新过程中已经写了显示图片,这里可以省略
- @sprite.bitmap.blt(15,380,RPG::Cache.picture("修炼选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(140,380,RPG::Cache.picture("修炼选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(280,380,RPG::Cache.picture("修炼选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(420,380,RPG::Cache.picture("修炼选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(550,380,RPG::Cache.picture("修炼选中"),Rect.new(0,0,150,93))
- #-------------------------------------------------------------------------
- @当前金钱 = $game_party.gold
- #@当前经验 = $game_party.actors[0].exp
-
- [url=home.php?mod=space&uid=315698]@wenzi[/url] = Sprite.new
- @wenzi.z = 9999
- @wenzi.bitmap = Bitmap.new(200,100)
- @wenzi.bitmap.font.name = "黑体"
- @wenzi.bitmap.font.size = 15
- @wenzi.bitmap.font.color = Color.new(255,0,0,255)
- @wenzi.bitmap.draw_text(0,0,200,100,"当前金钱:"+@当前金钱.to_s)
- # @wenzi.bitmap.draw_text(0,0,100,100,"当前金钱:"+@当前经验.exp_s)
- @wenzi.x = 50
- @wenzi.y = 100
- s1 = ""
- s2 = ""
- s3 = ""
- s4 = ""
- s5 = ""
- @command_window = Window_Command.new(530,[s1,s2,s3,s4,s5])
- @command_window.visible = false
- @选中 = 0
- @角色 = []
- for i in 0...$game_party.actors.size
- @角色[i] = Renwu.new(i)
- end
- Graphics.transition
- loop do
- Graphics.update
-
- Input.update
- update
- if Input.trigger?(Input::B)
- break
- end
- end
- @back.bitmap.dispose
- @back.dispose
- @sprite.dispose
- @sprite.bitmap.dispose
- @wenzi.bitmap.dispose
- #-----------------------------------------------------
- # 已经赋值 @角色[i] 了,直接:
- # for i in @角色[i]
- # i.dispose
- # end
- # 或者: @角色[i].each{|i| i.dispose}
- for i in 0...$game_party.actors.size
- @角色[i].dispose
- end
- #-------------------------------------------------------
- end
- #------------------------------------------------------------------------
- #☆添加一个获取角色的方法,在本类里直接是 actor ,
- #在其它地方,你生成的本类的窗口变量,比如 [url=home.php?mod=space&uid=40185]@xxx[/url] = Team.new,就是 @xxx.actor
- def actor
- return $game_party.actors[@command_window.index]
- end
- #-------------------------------------------------------------------------
-
- def update
-
- @command_window.update
- #---------------------------------------------------------------------
- # 这个是多余的
- @command_window.index != @选中
- @选中 = @command_window.index
- #---------------------------------------------------------------------
- #---------------------------------------------------------------------
- # 有很多时候写完了,就可以发现一些很有规律的结构,可以很好的简化一下。
- # if @date_index != @command_window.index
- # @date_index = @command_window.index
- # #清除以前显示的,这个要记住。
- # @sprite.bitmap.clear
- # # 0 到 4 代入 i 循环
- # 5.times do |i|
- # # i 和 选项窗口索引相等时图片名为:"修炼选中";反之,图片名为:"修炼未选中"
- # picture_name = @command_window.index == i ? "修炼选中" : "修炼未选中"
- # #5张图片对应的X坐标
- # x = [15,140,280,420,550][i]
- # @sprite.bitmap.blt(x,380,RPG::Cache.picture(picture_name),Rect.new(0,0,150,93))
- # end
- # end
- # 当然这个最好不要写在 update 里面,随时在刷新太耗资源。也可以像上面条件限制一下,
- # 选项窗口的索引发生变化时才刷新。刷新之前把 Bitmap 以前显示的清空,再显示
- # 新的图片,前面加一句:@sprite.bitmap.clear
- case @command_window.index
- when 0
- @sprite.bitmap.blt(15,380,RPG::Cache.picture("修炼选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(140,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(280,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(420,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(550,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
- when 1
- @sprite.bitmap.blt(15,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(140,380,RPG::Cache.picture("修炼选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(280,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(420,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(550,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
-
- when 2
- @sprite.bitmap.blt(15,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(140,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(280,380,RPG::Cache.picture("修炼选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(420,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(550,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
- when 3
-
- @sprite.bitmap.blt(15,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(140,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(280,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(420,380,RPG::Cache.picture("修炼选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(550,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
- when 4
- @sprite.bitmap.blt(15,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(140,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(280,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(420,380,RPG::Cache.picture("修炼未选中"),Rect.new(0,0,150,93))
- @sprite.bitmap.blt(550,380,RPG::Cache.picture("修炼选中"),Rect.new(0,0,150,93))
- end
- #-------------------------------------------------------------------------
- if Input.trigger?(Input::C)
- #----------------------------------------------
- #数组的活用:p ["阿尔西斯","帕吉尔","塞拉斯","特萝西","空"][@command_window.index]
- case @command_window.index
- when 0
- p "阿尔西斯"
- when 1
- p“帕吉尔“ #<= 注意脚本符号要半角,不要全角
- when 2
- p""塞拉斯"" #<= 双重引号什么鬼?
- when 3
- p "特萝西"
- when 4
- p "空"
- end
- end
- #---------------------------------------------------------------------
- # 同上面的释放,直接:@角色[i].each{|i| i.update}
- for i in 0...$game_party.actors.size
- @角色[i].update
- end
- #---------------------------------------------------------------------
- end
-
-
-
-
-
-
-
-
- # 这个方法既重复了,也没有用过
- def refresh
- for i in 0...$game_party.actors.size
- @角色[i].update
- end
- end
- end
- class Renwu
- def initialize(num)
- @偏移 = {
- "阿尔西斯" => "100",
- "帕吉尔" => "0",
- "塞拉斯" => "40",
- "特萝西" => "40",
- "" => "0",
-
- }
- @人 = num
- [url=home.php?mod=space&uid=2667520]@view[/url] = Viewport.new(12,89,617,302)
- @view.z = 9999
-
- @s = RPG::Cache.character($game_party.actors[@人].character_name+"_W",0)
- [url=home.php?mod=space&uid=51411]@精灵[/url] = Sprite.new(@view)
- @精灵.bitmap = Bitmap.new(617,302)
- @文字 = Sprite.new(@view)
- @文字.bitmap = Bitmap.new(617,302)
- @文字.bitmap.font.size = 15
- @文字.bitmap.font.name = ["黑体"]
- @文字.bitmap.font.color = Color.new(0,0,0)
- @wenzi = Sprite.new
- @wenzi.z = 9999
- @wenzi.bitmap = Bitmap.new(200,100)
- @@当前金钱 = $game_party.gold
- @文字.bitmap.draw_text(@人*121+30,218,80,20,$game_party.actors[@人].name)
- @文字.bitmap.draw_text(@人*121+30,240,80,20,$game_party.actors[@人].class_name)
- @文字.bitmap.draw_text(@人*121+30,262,80,20,$game_party.actors[@人].level.to_s)
-
- @width = @s.width/4
- [url=home.php?mod=space&uid=291977]@height[/url] = @s.height/4
- [url=home.php?mod=space&uid=134219]@Time[/url] = 0
- @i = 0
-
- end
-
- def update
- # 初始化写的是 @Time 这儿是 @time ,变量名不同会报错。
- if @time%5 == 0
- @i +=1
- end
- if @i >=4
- @i = 0
- end
- @time += 1
- @rect = Rect.new(@i*@width,0,@width,@height)
- #一直的刷新太耗资源。
- refresh
- end
-
- def refresh
- 消耗
- @wenzi.bitmap.clear
- @wenzi.bitmap.font.name = "黑体"
- @wenzi.bitmap.font.size = 15
- @wenzi.bitmap.draw_text(0,0,200,100,"所需金钱:"+@@当前金钱.to_s,0)
- @wenzi.x = 300
- @wenzi.y = 100
- @精灵.bitmap.clear
- @精灵.bitmap.blt(@人*110+40,50,@s,@rect)
- end
-
- def 消耗
- @@当前金钱 = $game_party.gold*2.4
- end
-
- def dispose
- @view.dispose
- @精灵.dispose
- @文字.dispose
- @wenzi.bitmap.dispose
- end
-
- end
复制代码 |
评分
-
查看全部评分
|