Project1

标题: 一种非常BT的想法....讨论下 [打印本页]

作者: a19981007a    时间: 2011-4-16 21:38
标题: 一种非常BT的想法....讨论下
本帖最后由 a19981007a 于 2011-4-16 21:38 编辑

今天给系统换了一下主题,顿时灵感来了,可忽悠一下又忘了
刚刚才想起来,

         是想可不可以给游戏界面换一个皮肤,并且供玩家选择...那样美观度会更高点


仔细想想事件是不可能的啦,如果哪位会的话,可是尝试做一下。记得主站有个窗口万花筒,有空试试可不可以用那个改下。
作者: 忧雪の伤    时间: 2011-4-16 21:41
更换SKIN,
这有什么难的……
玩家选择弄事件分歧……
作者: zxlxp2006    时间: 2011-4-16 21:51
小生记得以前站里很多老游戏都有这功能……还有窗体万花筒改变的是窗口形状吧……?
作者: a19981007a    时间: 2011-4-16 21:52
回复 zxlxp2006 的帖子

举个例子,好吗?
作者: 忧雪の伤    时间: 2011-4-16 21:57
a19981007a 发表于 2011-4-16 21:52
回复 zxlxp2006 的帖子

举个例子,好吗?

主题啊……懂了……
作者: 凛儿    时间: 2011-4-17 11:08
让我想到口袋妖怪里,对话框样式可以换、手机背景可以换、存放的盒子也有很多背景
作者: 「旅」    时间: 2011-4-17 11:30
本帖最后由 「旅」 于 2011-4-17 11:31 编辑

嘛有什么想法都支持的哦~~不过我只是路过的而已啦{:nm_3:} {:nm_3:} {:nm_4:}

Project1.rar (721.86 KB, 下载次数: 55)


作者: a19981007a    时间: 2011-4-17 11:46
回复 「旅」 的帖子

这个的话,应该可以实现了的...应该有更好的....只是换了皮肤而以。
作者: 忧雪の伤    时间: 2011-4-17 11:55
a19981007a 发表于 2011-4-17 11:46
回复 「旅」 的帖子

这个的话,应该可以实现了的...应该有更好的....只是换了皮肤而以。 ...

这不也和我说的一样是SKIN么!= = ||

作者: 心雪    时间: 2011-4-17 12:07
本帖最后由 心雪 于 2011-4-17 12:17 编辑
  1. class Window_Base
  2.   def setup_skinname(v)
  3.     self.windowskin = RPG::Cache.windowskin(v)
  4.   end
  5. end
  6. class Scene_Skin
  7.   def main
  8.     @tip = Window_Base.new(0,0,640,96)
  9.     @tip.contents = Bitmap.new(640-32,64)
  10.     @tip.contents.draw_text(0,0,640,32,"请将皮肤文件放入Graphics\\Windowskins文件夹下(JPG or PNG)")
  11.     @tip.contents.draw_text(0,32,640,32,"您要选择哪个窗口文件?")
  12.     @filelist = Dir["Graphics//Windowskins//*.png"]
  13.     @filelist += Dir["Graphics//Windowskins//*.jpg"]
  14.     @filelist.sort!
  15.     @filelist.each{|s|s["Graphics//Windowskins//"] = ""}
  16.     #p @filelist
  17.     #p Dir["Graphics//Windowskins//*.*"]
  18.     if @filelist.size != 0
  19.       @choose = Window_Command.new(640,@filelist)
  20.     else
  21.       @choose = Window_Command.new(640,["无文件"])
  22.       @choose.disable_item(0)
  23.     end
  24.     @choose.height = 480-96
  25.     @choose.x = 0
  26.     @choose.y = 96
  27.     @old_index = @choose.index
  28.     # 执行过渡
  29.     Graphics.transition
  30.     # 主循环
  31.     loop do
  32.       # 刷新游戏画面
  33.       Graphics.update
  34.       # 刷新输入信息
  35.       Input.update
  36.       # 刷新画面
  37.       update
  38.       # 如果画面切换的话的就中断循环
  39.       if $scene != self
  40.         break
  41.       end
  42.     end
  43.     Graphics.freeze
  44.     @choose.dispose
  45.     @tip.dispose
  46.   end
  47.   def update
  48.     @choose.update
  49.     if Input.trigger?(Input::C)
  50.       if @filelist.size == 0
  51.         $game_system.se_play($data_system.buzzer_se)
  52.         return
  53.       end
  54.       $game_system.se_play($data_system.decision_se)
  55.       @skin_name = @filelist[@choose.index]
  56.       $game_system.windowskin_name = @skin_name
  57.       @tip.setup_skinname(@skin_name)
  58.       @choose.setup_skinname(@skin_name)
  59.       $scene = Scene_Map.new
  60.     end
  61.     if Input.trigger?(Input::B)
  62.       # 演奏取消 SE
  63.       $game_system.se_play($data_system.cancel_se)
  64.       # 切换的地图画面
  65.       $scene = Scene_Map.new
  66.       return
  67.     end
  68.     if @old_index != @choose.index
  69.       @old_index = @choose.index
  70.       @skin_name = @filelist[@choose.index]
  71.       @tip.setup_skinname(@skin_name)
  72.       @choose.setup_skinname(@skin_name)
  73.     end
  74.   end
  75. end

复制代码
调用方法:事件第三页脚本$scene = Scene_Skin.new


原来小旅酱已经先咱一步了么> <
作者: a19981007a    时间: 2011-4-17 12:24
回复 忧雪の伤 的帖子

所以不是更好的嘛.....
作者: 忧雪の伤    时间: 2011-4-17 12:24
a19981007a 发表于 2011-4-17 12:24
回复 忧雪の伤 的帖子

所以不是更好的嘛.....

= =||
相信紫苏的窗口句柄能帮到你什么。
作者: a19981007a    时间: 2011-4-17 12:26
回复 忧雪の伤 的帖子

紫苏的窗口句柄?  不明白耶....先去搜索看看。
作者: Wind2010    时间: 2011-4-17 12:33
去年和朋友合作的第一个游戏(万年大坑)用表示事件换窗口XD
作者: 禾西    时间: 2011-4-17 12:40
本帖最后由 禾西 于 2011-4-17 12:43 编辑

我還想說遊戲窗口那就四個邊框換來有啥意義= =|||

更改內部窗口外觀,事件就能做啦。寫個毛子腳本……
作者: a19981007a    时间: 2011-4-17 12:41
回复 Wind2010 的帖子

什么游戏?看看是不是想要的....
作者: a19981007a    时间: 2011-4-17 12:44
回复 禾西 的帖子

我的意思的让游戏的那4条边的形状,皮肤随着玩家的选择更改。
并且风格,主题要与电脑的主题有鲜明的对比。
作者: 忧雪の伤    时间: 2011-4-17 12:45
他要的是系统窗口的……
不是程序里面的SKIN……
我觉得没什么意义……更加称不上灵感?
作者: a19981007a    时间: 2011-4-17 12:47
回复 忧雪の伤 的帖子

不能实现....RM的游戏往往没有单机类大型其他游戏的功能....所有要在其他方面超过其他类型制作的游戏...
作者: david50407    时间: 2011-4-17 12:53
额... 可以的 自套皮肤
看是要dll还是
直接画在RM里然后用窗体万花筒把不要的地方删掉
作者: 李光兆    时间: 2011-4-17 12:55
我记得脚本里面有个东西叫做SENCE MENU。。。
可以增加一个更换皮肤。
作者: 后知后觉    时间: 2011-4-17 13:12
用RM的方法做可以这样:
扩大窗体.建立 2 个全局的 Viewport.
其中一个为客户区大小.坐标0.0 z比底图远景图用的那个viewport还要低
另外一个 游戏内容大小 正常为 640*480. 坐标在客户区矩形内能完全显示即可.
建立这个Viewport主要是用于统一调整Window类对象的坐标.
那几个使用了viewport的Sprite子类.将其viewport的坐标调整成和这个全局的Viewport一样.
气宗一个用来放底图.
另外一个用来放游戏内容.
用API去掉窗口的边框和标题.
不过就是把标题X掉了 鼠标貌似就不能移动窗口位置了.
可以把窗口去掉标题后设置在 0.0 位置.这样感觉就好些了

作者: 沙漠点灰    时间: 2011-4-17 16:10
话说这种最好把弄成*.rb的文件,让RMXP去读,比如RMXP支持RMVX的皮肤,这样就可以修改
Window类的windowskin方法,因为我想到了PSP的CTF主题,每个主题都是个小程序,不过难度有点大




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