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

Project1

 找回密码
 注册会员
搜索

如何把这张图片的一部分显示在指定事件名称格式的事件下

查看数: 2388 | 评论数: 8 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2012-6-23 15:06

正文摘要:

本帖最后由 chd114 于 2012-6-23 15:16 编辑 @hcm [attachimg]116909[/atta@hys111111 chimg][attachimg]@zhixin1997 116909[/attachimg] 当事件名称开头为“怪物”,名字中带有“X”就显示这张图片第一个图案 ...

回复

chd114 发表于 2012-7-3 18:53:25
hys111111 发表于 2012-7-3 18:14
……

如果前面同样是“怪物001”,但是其中一个的事件名称是“怪物001H2”怎样才能判定让名字中带有H的显示1号图案?
hys111111 发表于 2012-7-3 18:14:26
本帖最后由 hys111111 于 2012-7-3 18:14 编辑
  1. class Window_Light < Window_Base
  2.   def initialize
  3.     super(-16,-16,672,512)
  4.     @name = "文件名称"
  5.     @fat_x = (Bitmap.new(@name).width/4).to_i
  6.     @fat_y = (Bitmap.new(@name).height).to_i
  7.     self.opacity = 0
  8.     self.back_opacity = 0
  9.     self.contents = Bitmap.new(width - 32, height - 32)
  10.     refresh
  11.   end
  12.   def refresh
  13.     self.contents.clear
  14.     for event_a in $game_map.events.values
  15.       for enemy_id in 0..999
  16.         if event_a.event.name == sprintf("怪物%03dX",enemy_id)
  17.           bitmap = Bitmap.new(@name)
  18.           real_x = event_a.screen_x - ((@fat_x/2).to_i - 32)
  19.           real_y = event_a.screen_y - ((@fat_y/2).to_i - 32)
  20.           self.contents.blt(real_x ,real_y, bitmap, Rect.new(0, 0, @fat_x, @fat_y))
  21.         end
  22.         if event_a.event.name == sprintf("怪物%03dN",enemy_id)
  23.           bitmap = Bitmap.new(@name)
  24.           real_x = event_a.screen_x - ((@fat_x/2).to_i - 32)
  25.           real_y = event_a.screen_y - ((@fat_y/2).to_i - 32)
  26.           self.contents.blt(real_x ,real_y, bitmap, Rect.new(@fat_x * 3, 0, @fat_x, @fat_y))
  27.         end
  28.       end
  29.     end
  30.   end
  31. end

  32. class Game_Event
  33.   attr_accessor :event #如果这部分已定义,可删掉
  34. end

  35. class Scene_Map
  36.   alias hys_light_initialize initialize
  37.   def initialize
  38.     @light_window = Window_Light.new
  39.     hys_light_initialize
  40.     @light_window.dispose
  41.   end
  42.   alias hys_light_update update
  43.   def update
  44.     @light_window.update
  45.     @light_window.refresh if $game_map.scrolling?
  46.     hys_light_update
  47.   end
  48. end
复制代码
……

评分

参与人数 1星屑 +100 收起 理由
hcm + 100 感谢回答

查看全部评分

chd114 发表于 2012-7-3 11:39:20
jilok3 发表于 2012-7-3 11:21
麻煩方法,設9個事件,同時移動

纯事件的话你可以闪边去了···我放的是靶子事件,一个射击场有几十个靶子就是把整个地图的事件占满了也未必够用吧···
jilok3 发表于 2012-7-3 11:21:33
麻煩方法,設9個事件,同時移動
chd114 发表于 2012-6-26 23:07:25
我只有解密的游戏没有简单的范例···

点评

哎,明天我就要回老家了(断网,网吧又不方便),时间紧帮不了你啦,真不好意思...  发表于 2012-6-27 23:19
(栽倒)我的意思是,将游戏中如何应用这个脚本的设定截个图...我毕竟不过接触脚本3个月而已...  发表于 2012-6-27 23:18
chd114 发表于 2012-6-26 19:46:14
kangxi0109 发表于 2012-6-26 19:20
可以,但我先前没研究过这类的,所以不敢打包票。
  1. class Map_Damage
  2. attr_accessor :pic
  3. def initialize
  4.   @pic=Sprite.new
  5.   @front1=RPG::Cache.picture("front1")
  6.   @front2=RPG::Cache.picture("front2")
  7.   @front3=RPG::Cache.picture("front3")
  8.   @front4=RPG::Cache.picture("front4")
  9.   @front5=RPG::Cache.picture("front5")
  10.   @front6=RPG::Cache.picture("front6")
  11.   @pic.bitmap=Bitmap.new(640,480)
  12.   @pic.z=50
  13. end
  14. def mapupdate
  15.   if $game_switches[56]==true and $game_switches[8]==true
  16.     @pic.bitmap.clear

  17.     for i in $game_variables[90][0]...$game_variables[90][0]+$game_variables[90][1]
  18.       for j in $game_variables[90][2]...$game_variables[90][2]+$game_variables[90][3]
  19.         if $game_map.have_an_event?(i,j)
  20.           k=$game_map.check_event(i,j)
  21.           if $game_map.events[k].event.name[0,6]=="怪物" and $game_map.events[k].event.name[10,1]!="h"
  22.             draw_mapdamage($game_map.events[k].event.name[6,3].to_i,i,j)
  23.           end
  24.         end
  25.       end
  26.     end
  27.   end
  28. end
  29. def draw_mapdamage(number,i,j)

  30.   e=Enemy_property.new(number)
  31.   if !e.got_p(11)
  32.   e=Enemy_property.new(number)
  33.   damage=e.got_damage
  34.   if damage>=999999999999999999999999999999999 or $game_switches[8]==false
  35.     @pic.bitmap.blt(i*32+8, j*32+20, @front6, Rect.new(0,0,24,12))
  36.   else
  37.     if damage>=$game_actors[$game_variables[1]+1].hp
  38.       a=damage.to_s
  39.       for q in 0...a.size
  40.         @pic.bitmap.blt(i*32-a.size*8+q*8+32, j*32+20, @front5, Rect.new(a[q,1].to_i*15-1,0,12,12))
  41.       end
  42.     end
  43.     if damage<$game_actors[$game_variables[1]+1].hp/25
  44.       a=damage.to_s
  45.         for q in 0...a.size
  46.           @pic.bitmap.blt(i*32-a.size*8+q*8+32, j*32+20, @front1, Rect.new(a[q,1].to_i*15-1,0,12,12))
  47.         end
  48.       end
  49.       if damage>=$game_actors[$game_variables[1]+1].hp/25 and damage<$game_actors[$game_variables[1]+1].hp/8
  50.         a=damage.to_s
  51.         for q in 0...a.size
  52.           @pic.bitmap.blt(i*32-a.size*8+q*8+32, j*32+20, @front2, Rect.new(a[q,1].to_i*15,0,12,12))
  53.         end
  54.       end
  55.       if damage>=$game_actors[$game_variables[1]+1].hp/8 and damage<$game_actors[$game_variables[1]+1].hp/3
  56.         a=damage.to_s
  57.         for q in 0...a.size
  58.           @pic.bitmap.blt(i*32-a.size*8+q*8+32, j*32+20, @front3, Rect.new(a[q,1].to_i*15-1,0,12,12))
  59.         end
  60.       end
  61.       if damage>=$game_actors[$game_variables[1]+1].hp/3 and damage<$game_actors[$game_variables[1]+1].hp
  62.         a=damage.to_s
  63.         for q in 0...a.size
  64.           @pic.bitmap.blt(i*32-a.size*8+q*8+32, j*32+20, @front4, Rect.new(a[q,1].to_i*15-1,0,12,12))
  65.         end
  66.       end
  67.     end
  68.   end
  69. end
  70. end
复制代码
那你帮我看下吧···表示这脚本改得很纠结···front1、2什么的是图片名称···

点评

那原游戏在事件里是怎么设置的,截个图吧。  发表于 2012-6-26 23:04
哪弄的,给个出处吧,原帖应该有教怎么用的吧  发表于 2012-6-26 20:25
就是如何应用这个脚本的范例啊  发表于 2012-6-26 20:09
有没有范例什么的?  发表于 2012-6-26 19:51
kangxi0109 发表于 2012-6-26 19:20:48
chd114 发表于 2012-6-26 18:05
@kangxi0109  如果给你一个类似的脚本你能想办法帮我改下吗?我先前试着修改那个脚本结果老师挂点··· ...

可以,但我先前没研究过这类的,所以不敢打包票。

点评

就像蔷薇少女里面的主角脚下踩着九宫格子的魔法阵一样  发表于 2012-6-28 09:37
只有一个有这个脚本的游戏···  发表于 2012-6-26 20:41
只有一个样板···这是一个月前才出现的新脚本···  发表于 2012-6-26 20:15
什么范例?  发表于 2012-6-26 19:57
chd114 发表于 2012-6-26 18:05:06
@kangxi0109  如果给你一个类似的脚本你能想办法帮我改下吗?我先前试着修改那个脚本结果老师挂点···
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-23 04:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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