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

Project1

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

[已经过期] 如何把这张图片的一部分显示在指定事件名称格式的事件下

[复制链接]

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

跳转到指定楼层
1
发表于 2012-6-23 15:06:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 chd114 于 2012-6-23 15:16 编辑

@hcm [attachimg]116909[/atta@hys111111 chimg][attachimg]@zhixin1997 116909[/attachimg]
当事件名称开头为“怪物”,名字中带有“X”就显示这张图片第一个图案在脚下,带有“N”就显示这张图片的第4个团在脚下,像这样

X  X  X
X  O  X
X  X  X
(X代表图案,O代表事件)

求案例或者做法



难道真的没办法做么?

点评

这个,至少默认是不行的吧...或者你把它弄成两个关联的事件?  发表于 2012-6-25 00:01
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

2
 楼主| 发表于 2012-6-26 18:05:06 | 只看该作者
@kangxi0109  如果给你一个类似的脚本你能想办法帮我改下吗?我先前试着修改那个脚本结果老师挂点···
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2763
在线时间
1603 小时
注册时间
2010-10-22
帖子
1058
3
发表于 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
【2022.06.03】原本以为已经不可能再找回来的东西重新找回来了,原本一直念念不忘的坑终于再一次拿起铲子了。一别竟近10年,你好,我的世界我的梦。
【不可阻挡】异元-地劫黎明
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

4
 楼主| 发表于 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
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

5
 楼主| 发表于 2012-6-26 23:07:25 | 只看该作者
我只有解密的游戏没有简单的范例···

点评

哎,明天我就要回老家了(断网,网吧又不方便),时间紧帮不了你啦,真不好意思...  发表于 2012-6-27 23:19
(栽倒)我的意思是,将游戏中如何应用这个脚本的设定截个图...我毕竟不过接触脚本3个月而已...  发表于 2012-6-27 23:18
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
124 小时
注册时间
2011-12-3
帖子
142
6
发表于 2012-7-3 11:21:33 | 只看该作者
麻煩方法,設9個事件,同時移動
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

7
 楼主| 发表于 2012-7-3 11:39:20 | 只看该作者
jilok3 发表于 2012-7-3 11:21
麻煩方法,設9個事件,同時移動

纯事件的话你可以闪边去了···我放的是靶子事件,一个射击场有几十个靶子就是把整个地图的事件占满了也未必够用吧···
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv3.寻梦者

双子人

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

开拓者

8
发表于 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 感谢回答

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

9
 楼主| 发表于 2012-7-3 18:53:25 | 只看该作者
hys111111 发表于 2012-7-3 18:14
……

如果前面同样是“怪物001”,但是其中一个的事件名称是“怪物001H2”怎样才能判定让名字中带有H的显示1号图案?
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-22 22:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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