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

Project1

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

[已经解决] 不知道有没有这个脚本……

[复制链接]

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
跳转到指定楼层
1
发表于 2010-11-20 17:48:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 Wind2010 于 2010-11-21 10:03 编辑

嗯……当某个事件不在屏幕显示范围的时候,就会在屏幕边缘出现一个箭头来指示事件的位置
可以用开关控制启动

有这个脚本么……

点评

内个 有好看点的箭头么 帮我找一个吧  发表于 2010-11-20 19:50

Lv1.梦旅人

梦石
0
星屑
49
在线时间
228 小时
注册时间
2010-8-11
帖子
475
2
发表于 2010-11-20 19:26:25 | 只看该作者
米有现成的 不过MS我可以现在给乃打一个
等一下啊

点评

-.-谢谢乃了  发表于 2010-11-20 19:31

Cola目前水区暂住  AVG缓慢展开
P.S.上面恶意卖萌的是基佬哟
回复 支持 反对

使用道具 举报

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
3
 楼主| 发表于 2010-11-20 20:16:58 | 只看该作者
回复 Cola酱 的帖子

随便在PVZ的PAK包里找了张图片...
[attachimg]38265[/attachimg

DownArrow.png (576 Bytes, 下载次数: 10)

DownArrow.png

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
228 小时
注册时间
2010-8-11
帖子
475
4
发表于 2010-11-20 20:57:59 | 只看该作者
回复 Wind2010 的帖子

美工比较无能 做出来效果MS很恶心
  1. class Game_Character
  2.   attr_reader   :prompt
  3.   
  4.   alias old_update update
  5.   def update
  6.     old_update
  7.     if @prompt
  8.       if screen_x < 0
  9.         $game_switches[1] = true
  10.       else
  11.         $game_switches[1] = false
  12.       end
  13.       if screen_x > 640
  14.         $game_switches[2] = true
  15.       else
  16.         $game_switches[2] = false
  17.       end
  18.       if screen_y < 0
  19.         $game_switches[3] = true
  20.       else
  21.         $game_switches[3] = false
  22.       end
  23.       if screen_y > 480
  24.         $game_switches[4] = true
  25.       else
  26.         $game_switches[4] = false
  27.       end
  28.       $game_switches[5] = $game_switches[1] || $game_switches[2] || $game_switches[3] || $game_switches[4]
  29.       $game_temp.common_event_id = 1
  30.     end
  31.   end
  32. end

  33. class Game_Event < Game_Character
  34.   alias old_initialize initialize
  35.   def initialize(map_id, event)
  36.     old_initialize(map_id, event)
  37.     if @event.name[0] = "_"
  38.       @prompt = true
  39.     else
  40.       @prompt = false
  41.     end
  42.   end
  43. end
复制代码
插入Main前
再把公共事件1这样设置

事件名前加个"_"就行了
不过一个地图只能有一个这样的事件

我现在不是很有空
明天帮你美化一下吧

点评

期待美化版  发表于 2010-11-20 22:24

评分

参与人数 2星屑 +502 收起 理由
fux2 + 500 二百五啊二百五~
Wind2010 + 2 认可答案

查看全部评分


Cola目前水区暂住  AVG缓慢展开
P.S.上面恶意卖萌的是基佬哟
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
3 小时
注册时间
2010-7-10
帖子
17
5
发表于 2010-11-20 22:37:45 | 只看该作者
同样期待
回复 支持 反对

使用道具 举报

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
6
 楼主| 发表于 2010-11-20 23:57:08 | 只看该作者
于是自己也写了一个……
http://rpg.blue/thread-161760-1-1.html
欢迎提出Bug……

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
228 小时
注册时间
2010-8-11
帖子
475
7
发表于 2010-11-21 11:13:43 | 只看该作者
本帖最后由 Cola酱 于 2010-11-21 11:14 编辑
  1. #==============================================================================
  2. # ■ Game_Map
  3. #------------------------------------------------------------------------------
  4. #  处理地图的类。包含卷动以及可以通行的判断功能。
  5. # 本类的实例请参考 $game_map 。
  6. #==============================================================================

  7. class Game_Map
  8.   #--------------------------------------------------------------------------
  9.   # ● 定义实例变量
  10.   #--------------------------------------------------------------------------
  11.   attr_accessor :arrowhead                # 箭头
  12.   #--------------------------------------------------------------------------
  13.   # ● 初始化条件
  14.   #--------------------------------------------------------------------------
  15.   alias old_initialize initialize
  16.   def initialize
  17.     old_initialize
  18.     @arrowhead = Game_Arrowhead.new
  19.   end
  20.   #--------------------------------------------------------------------------
  21.   # ● 刷新画面
  22.   #--------------------------------------------------------------------------
  23.   def update
  24.     # 还原必要的地图
  25.     if $game_map.need_refresh
  26.       refresh
  27.     end
  28.     # 滚动中的情况下
  29.     if @scroll_rest > 0
  30.       # 滚动速度变化为地图坐标系的距离
  31.       distance = 2 ** @scroll_speed
  32.       # 执行滚动
  33.       case @scroll_direction
  34.       when 2  # 下
  35.         scroll_down(distance)
  36.       when 4  # 左
  37.         scroll_left(distance)
  38.       when 6  # 右
  39.         scroll_right(distance)
  40.       when 8  # 上
  41.         scroll_up(distance)
  42.       end
  43.       # 滚动距离的减法运算
  44.       @scroll_rest -= distance
  45.     end
  46.     # 更新地图事件
  47.     for event in @events.values
  48.       event.update
  49.     end
  50.     # 更新公共事件
  51.     for common_event in @common_events.values
  52.       common_event.update
  53.     end
  54.     @arrowhead.update
  55.     # 处理雾的滚动
  56.     @fog_ox -= @fog_sx / 8.0
  57.     @fog_oy -= @fog_sy / 8.0
  58.     # 处理雾的色调变更
  59.     if @fog_tone_duration >= 1
  60.       d = @fog_tone_duration
  61.       target = @fog_tone_target
  62.       @fog_tone.red = (@fog_tone.red * (d - 1) + target.red) / d
  63.       @fog_tone.green = (@fog_tone.green * (d - 1) + target.green) / d
  64.       @fog_tone.blue = (@fog_tone.blue * (d - 1) + target.blue) / d
  65.       @fog_tone.gray = (@fog_tone.gray * (d - 1) + target.gray) / d
  66.       @fog_tone_duration -= 1
  67.     end
  68.     # 处理雾的不透明度变更
  69.     if @fog_opacity_duration >= 1
  70.       d = @fog_opacity_duration
  71.       @fog_opacity = (@fog_opacity * (d - 1) + @fog_opacity_target) / d
  72.       @fog_opacity_duration -= 1
  73.     end
  74.   end
  75. end
复制代码
  1. #==============================================================================
  2. # ■ Game_Player
  3. #------------------------------------------------------------------------------
  4. #  处理箭头的类。这个类在Game_Map的内部使用。
  5. #==============================================================================

  6. class Game_Arrowhead < Sprite
  7.   #--------------------------------------------------------------------------
  8.   # ● 定义实例变量
  9.   #--------------------------------------------------------------------------
  10.   attr_accessor    :arrowhead             # 箭头
  11.   attr_accessor    :id                    # 事件id
  12.   #--------------------------------------------------------------------------
  13.   # ● 初始化
  14.   #--------------------------------------------------------------------------
  15.   def initialize
  16.     @arrowhead = Sprite.new
  17.     @id = 0
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 位置判定
  21.   #--------------------------------------------------------------------------
  22.   def location
  23.     # 方向溢出判定
  24.     left = $game_map.events[@id].screen_x < 0
  25.     right = $game_map.events[@id].screen_x > 640
  26.     up = $game_map.events[@id].screen_y < 0
  27.     down = $game_map.events[@id].screen_y > 480
  28.     location = 5
  29.     # 左右
  30.     if left
  31.       location -= 1
  32.     elsif right
  33.       location += 1
  34.     end
  35.     # 上下
  36.     if up
  37.       location -= 3
  38.     elsif down
  39.       location += 3
  40.     end
  41.     return location
  42.   end
  43.   #--------------------------------------------------------------------------
  44.   # ● 刷新图片名
  45.   #--------------------------------------------------------------------------
  46.   def name
  47.     # 图片名
  48.     case location
  49.       when 1
  50.         return "左上"
  51.       when 2
  52.         return "上"
  53.       when 3
  54.         return "右上"
  55.       when 4
  56.         return "左"         
  57.       when 6
  58.         return "右"
  59.       when 7
  60.         return "左下"
  61.       when 8
  62.         return "下"
  63.       when 9
  64.         return "右下"
  65.     end
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   # ● 刷新图片名
  69.   #--------------------------------------------------------------------------
  70.   def name
  71.     # 图片名
  72.     case location
  73.       when 1
  74.         return "1"
  75.       when 2
  76.         return "2"
  77.       when 3
  78.         return "3"
  79.       when 4
  80.         return "4"         
  81.       when 6
  82.         return "6"
  83.       when 7
  84.         return "7"
  85.       when 8
  86.         return "8"
  87.       when 9
  88.         return "9"
  89.     end
  90.   end
  91.   #--------------------------------------------------------------------------
  92.   # ● 刷新x坐标
  93.   #--------------------------------------------------------------------------
  94.   def real_x
  95.     if $game_map.events[@id].screen_x<0
  96.       return 0
  97.     elsif $game_map.events[@id].screen_x>640
  98.       return 640
  99.     else
  100.       return $game_map.events[@id].screen_x
  101.     end
  102.   end
  103.   #--------------------------------------------------------------------------
  104.   # ● 刷新y坐标
  105.   #--------------------------------------------------------------------------
  106.   def real_y
  107.     if $game_map.events[@id].screen_y<0
  108.       return 0
  109.     elsif $game_map.events[@id].screen_y>480
  110.       return 480
  111.     else
  112.       return $game_map.events[@id].screen_y
  113.     end
  114.   end
  115.   #--------------------------------------------------------------------------
  116.   # ● 刷新画面
  117.   #--------------------------------------------------------------------------
  118.   def update
  119.     @id = $game_variables[1]
  120.     # 是否开启箭头
  121.     if $game_switches[1]
  122.       # 是否在屏幕內
  123.       if location == 5
  124.         @arrowhead.visible = false
  125.       else
  126.         @arrowhead.bitmap = Bitmap.new("Graphics/Pictures/"+name+".png")
  127.         @arrowhead.x = real_x
  128.         @arrowhead.y = real_y
  129.         @arrowhead.z = 101
  130.         @arrowhead.visible = true
  131.       end
  132.     else
  133.       @arrowhead.visible = false
  134.     end
  135.   end
  136. end
复制代码
插入MAIN前 再把左上、上、右上、左、右、左下、下、右下图片分别命名为1..9(米有5哦)
像这样

默认的开关1是是否开启 变量1是事件ID
@id = $game_variables[1]
$game_switches[1]
这两个可以自己改
嗯 欢迎提出BUG

Cola目前水区暂住  AVG缓慢展开
P.S.上面恶意卖萌的是基佬哟
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 16:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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