Project1

标题: 1VIP请人写一个方便操作的脚本 [打印本页]

作者: 越前リョーマ    时间: 2008-8-20 05:08
标题: 1VIP请人写一个方便操作的脚本
这个是显示变量的:
http://rpg.blue/web/htm/news326.htm

变量能这么简单的显示真的很好,但是文字呢?
我希望有人也能写一个操作简单的在地图上显示文字的脚本,报酬是1VIP。

恩,就是这样…… =v=
[LINE]1,#dddddd[/LINE]
PS。VIP完成后自动转账。 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 暴风の龙    时间: 2008-8-20 05:54
很简单的啦……
小柯,可以直接PM我,我帮你做…… [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: yangff    时间: 2008-8-20 16:46
把变量赋值为文字
或者
事件脚本:
$window_show = Window_Base.new(x,y,w,h)
$window_show.contents = Bitmap.new(width - 32, height - 32)
要写的文字 = ""
c = $window_show.contents.text_size(要写的文字)
$window_show.contents.draw_text(c,要写的文字,对齐方式)

#
#开独立开关

#$window_show.update #没有也没关系

#
#要干掉的时候
window_show.dispose

#就是酱紫
作者: 精灵使者    时间: 2008-8-20 19:22
可以使用公共变量来赋予文字。
作者: dbshy    时间: 2008-8-21 05:05
module QUESTION_STRING
  
  NUMBER = 1
  
  STRING_ARRAY = [["abc",30,30],["a",100,150]]

end

class Window_String < Window_Base

def initialize
  super(-16, -16, 640+32, 480+32)
  self.contents = Bitmap.new(width - 32, height - 32)
  self.visible = false
  self.z=9999
  
  @str_s = []
  for str in QUESTION_STRING::STRING_ARRAY
    @str_s.push([str[0],str[1],str[2]])
  end   
  refresh
end


def refresh

    self.contents.clear
    for str in @str_s
      self.contents.draw_text(str[1],str[2],640,32,str[0])
    end
  
end

end

class Scene_Map
  
  alias old_main main
  def main
    @window_string = Window_String.new
    @window_string.opacity = 0
    old_main
    @window_string.dispose
  end

alias old_update update
  def update
    old_update
    if $game_switches[QUESTION_STRING::NUMBER] then
      @window_string.visible = true      
      @window_string.refresh
    else
      @window_string.visible = false
    end
  end
  
end

在这里添加
STRING_ARRAY = [["abc",30,30],["a",100,150]]
文字 , X ,Y

NUMBER 为开关ID 打开此开关脚本才工作,关闭则停止


作者: yangff    时间: 2008-8-21 05:39
有这么复杂吗?
作者: yangff    时间: 2008-8-24 23:18
alias old_update update
def update
   old_update
   if $game_switches[QUESTION_STRING::NUMBER] then
     @window_string.visible = true      
     @window_string.refresh
   else
     @window_string.visible = false
   end
end

end

这明显没有优化。。。
每帧刷新一次
作者: dbshy    时间: 2008-8-25 00:03
以下引用yangff于2008-8-24 15:18:58的发言:

alias old_update update
def update
  old_update
  if $game_switches[QUESTION_STRING::NUMBER] then
    @window_string.visible = true      
    @window_string.refresh
  else
    @window_string.visible = false
  end
end

end

这明显没有优化。。。
每帧刷新一次


判断一下就可以了 = =
我承认这个纯属完成LZ所提要求,并未考虑优化

作者: 風雲Ж贝贝    时间: 2008-8-28 16:28
兄弟,不如你这样做~
$game_variables[某ID]="XXX"
再用那显示变量数组的脚本,不就OK啦
作者: 连三の月    时间: 2008-8-28 18:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: 浩气青天    时间: 2008-8-29 02:41
哇!都是高手耶~我也来凑个热闹。。。
然后。。。。。。慢慢飘过,各位继续。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1