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

Project1

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

[原创发布] 实时更新的时间系统

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2008-4-12
帖子
16
跳转到指定楼层
1
发表于 2016-6-2 23:10:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 余烬之中 于 2016-6-4 10:29 编辑

作为一个js的小白,今天在瓢虫和当当的帮助下写了这个插件,算是学习js的第一步吧!
写好了拿出来跟大家分享一下,看有没有同样需要使用的小伙伴,也希望有大神多指导指导我!
脚本一开始是参照 @余烬之中 的教学贴写的窗口,后来在瓢虫和当当的帮助下,添加了变量调用和实时更新,在这里再次万分感谢!
顺便勾搭一下,有没有志同道合想一起做游戏的小伙伴?QQ330572745!

使用效果图:


脚本:
JAVASCRIPT 代码复制
  1. Scene_Map.prototype.start = function() {
  2.     Scene_MenuBase.prototype.start.call(this);
  3.     SceneManager.clearStack();
  4.     if (this._transfer) {
  5.         this.fadeInForTransfer();
  6.         this._mapNameWindow.open();
  7.         this._ningjingWindow.open();
  8.         $gameMap.autoplay();
  9.     } else if (this.needsFadeIn()) {
  10.         this.startFadeIn(this.fadeSpeed(), false);
  11.     }
  12.     this.menuCalling = false;
  13. };
  14.  
  15. Scene_Map.prototype.stop = function() {
  16.     Scene_MenuBase.prototype.stop.call(this);
  17.     $gamePlayer.straighten();
  18.     this._mapNameWindow.close();
  19.     this._ningjingWindow.close();
  20.     if (this.needsSlowFadeOut()) {
  21.         this.startFadeOut(this.slowFadeSpeed(), false);
  22.     } else if (SceneManager.isNextScene(Scene_Map)) {
  23.         this.fadeOutForTransfer();
  24.     } else if (SceneManager.isNextScene(Scene_Battle)) {
  25.         this.launchBattle();
  26.     }
  27. };
  28. Scene_Map.prototype.terminate = function() {
  29.     Scene_MenuBase.prototype.terminate.call(this);
  30.     if (!SceneManager.isNextScene(Scene_Battle)) {
  31.         this._spriteset.update();
  32.         this._mapNameWindow.hide();
  33.         this._ningjingWindow.hide();
  34.         SceneManager.snapForBackground();
  35.     }
  36.     $gameScreen.clearZoom();
  37. };
  38. Scene_Map.prototype.createDisplayObjects = function() {
  39.     this.createSpriteset();
  40.     this.createMapNameWindow();
  41.     this.createNingJingWindow();
  42.     this.createWindowLayer();
  43.     this.createAllWindows();
  44. };
  45. Scene_Map.prototype.createNingJingWindow = function(){
  46.     this._ningjingWindow = new Window_Testing(550,580,260,40);
  47.     this.addChild(this._ningjingWindow);
  48. };
  49.  
  50. Scene_Map.prototype.callMenu = function() {
  51.     SoundManager.playOk();
  52.     SceneManager.push(Scene_Menu);
  53.     Window_MenuCommand.initCommandPosition();
  54.     $gameTemp.clearDestination();
  55.     this._ningjingWindow.hide();
  56.     this._mapNameWindow.hide();
  57.     this._waitCount = 2;
  58. };
  59. Scene_Map.prototype.launchBattle = function() {
  60.     BattleManager.saveBgmAndBgs();
  61.     this.stopAudioOnBattleStart();
  62.     SoundManager.playBattleStart();
  63.     this.startEncounterEffect();
  64.     this._ningjingWindow.hide();
  65.     this._mapNameWindow.hide();
  66. };
  67.  
  68. function Window_Testing() {
  69.     this.initialize.apply(this, arguments);
  70. }
  71. Window_Testing.prototype = Object.create(Window_Base.prototype);
  72. Window_Testing.prototype.initialize = function(x, y, width, height) {
  73.     Window_Base.prototype.initialize.call(this, x, y, width, height);
  74.     this.contents.fontSize = 20;
  75. }
  76.  
  77. Window_Testing.prototype.standardPadding = function() {
  78.     return 8;
  79. };
  80.  
  81. Window_Testing.prototype.update = function() {
  82.     Window_Base.prototype.update.call(this);
  83.  
  84.         if ($gameVariables.value(1)==0){
  85.                 $gameVariables._data[1]=1
  86.                 $gameVariables._data[2]=1
  87.                 $gameVariables._data[3]=1
  88.                 $gameVariables._data[4]=1
  89.         }else if($gameVariables.value(5)>=4){
  90.                 $gameVariables._data[5]-=4
  91.                 $gameVariables._data[4]+=1
  92.         }else if($gameVariables.value(4)>=25){
  93.                 $gameVariables._data[4]-=24
  94.                 $gameVariables._data[3]+=1
  95.         }else if($gameVariables.value(3)>=31){
  96.                 $gameVariables._data[3]-=30
  97.                 $gameVariables._data[2]+=1
  98.         }else if($gameVariables.value(2)>=13){
  99.                 $gameVariables._data[2]-=12
  100.                 $gameVariables._data[1]+=1
  101.         }
  102.     var textW = 270;
  103.     var textH = 0;
  104.     this.contents.clear();
  105.     this.drawText($gameVariables.value(1) + "年", -180, -6, textW, 'right');
  106.     textH += this.lineHeight();
  107.     this.drawText($gameVariables.value(2) + "月", -130, -6, textW, 'right');
  108.     textH += this.lineHeight();
  109.     this.drawText($gameVariables.value(3) + "日", -80, -6, textW, 'right');
  110.     textH += this.lineHeight();
  111.     this.drawText($gameVariables.value(4) + "时", -30, -6, textW, 'right');
  112.     textH += this.lineHeight();
  113. };

点评

做什么类型的游戏呐  发表于 2016-6-14 12:17

评分

参与人数 1梦石 +1 收起 理由
余烬之中 + 1 塞糖 | 代码用代码框

查看全部评分

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2008-4-12
帖子
16
2
 楼主| 发表于 2016-6-2 23:28:58 | 只看该作者
在变量里1-5分别是年、月、日、时、刻,互相之间的进率是1年=12月 1月=30天 1天=24时 1时=4刻
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
13 小时
注册时间
2016-5-31
帖子
5
3
发表于 2016-6-6 13:21:08 | 只看该作者
keyi,我顶
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4753
在线时间
112 小时
注册时间
2016-1-15
帖子
64
4
发表于 2016-6-7 15:51:36 | 只看该作者
继续努力吧
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
245
在线时间
219 小时
注册时间
2015-9-24
帖子
166
5
发表于 2016-8-7 09:39:58 | 只看该作者
时间会自动增长吗?还是只能用改变量的方法更改?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
112
在线时间
72 小时
注册时间
2016-7-19
帖子
52
6
发表于 2016-8-7 23:12:32 | 只看该作者
我自己写了个事件的时间系统  会连动 资源的刷新  天气 天色  比如早5点会出现黄昏  6点天亮 晚5点 落日 6点天黑  每1个小时 随机进行1次天气变化 85%以上是晴天  10%是雨天 5是风雪  下雪只会出现在10~12月这样  然后下雨的时候屋外特效  房内只能听到声音 不会有特效  每隔多少小时 刷新挖矿点 资源点   早8点到晚5点之外的时间  商店会打烊   人物进不去   之前进去的人会被赶出来   时间系统光靠脚本意义不大  要和其他联动 才是完美
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
58 小时
注册时间
2015-8-11
帖子
64
7
发表于 2016-8-13 17:18:16 | 只看该作者
everlose 发表于 2016-8-7 23:12
我自己写了个事件的时间系统  会连动 资源的刷新  天气 天色  比如早5点会出现黄昏  6点天亮 晚5点 落日 6 ...

能不能分享来看看
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
14 小时
注册时间
2017-1-14
帖子
10
8
发表于 2017-1-24 09:38:27 | 只看该作者
Scene_Map.prototype.start = function() {
    Scene_MenuBase.prototype.start.call(this);
    SceneManager.clearStack();
    if (this._transfer) {
        this.fadeInForTransfer();
        this._mapNameWindow.open();
        this._ningjingWindow.open();
        $gameMap.autoplay();
    } else if (this.needsFadeIn()) {
        this.startFadeIn(this.fadeSpeed(), false);
    }
    this.menuCalling = false;
};

Scene_Map.prototype.stop = function() {
    Scene_MenuBase.prototype.stop.call(this);
    $gamePlayer.straighten();
    this._mapNameWindow.close();
    this._ningjingWindow.close();
    if (this.needsSlowFadeOut()) {
        this.startFadeOut(this.slowFadeSpeed(), false);
    } else if (SceneManager.isNextScene(Scene_Map)) {
        this.fadeOutForTransfer();
    } else if (SceneManager.isNextScene(Scene_Battle)) {
        this.launchBattle();
    }
};
Scene_Map.prototype.terminate = function() {
    Scene_MenuBase.prototype.terminate.call(this);
    if (!SceneManager.isNextScene(Scene_Battle)) {
        this._spriteset.update();
        this._mapNameWindow.hide();
        this._ningjingWindow.hide();
        SceneManager.snapForBackground();
    }
    $gameScreen.clearZoom();
};
Scene_Map.prototype.createDisplayObjects = function() {
    this.createSpriteset();
    this.createMapNameWindow();
    this.createNingJingWindow();
    this.createWindowLayer();
    this.createAllWindows();
};
Scene_Map.prototype.createNingJingWindow = function(){
    this._ningjingWindow = new Window_Testing(550,580,260,40);
    this.addChild(this._ningjingWindow);
};

Scene_Map.prototype.callMenu = function() {
    SoundManager.playOk();
    SceneManager.push(Scene_Menu);
    Window_MenuCommand.initCommandPosition();
    $gameTemp.clearDestination();
    this._ningjingWindow.hide();
    this._mapNameWindow.hide();
    this._waitCount = 2;
};
Scene_Map.prototype.launchBattle = function() {
    BattleManager.saveBgmAndBgs();
    this.stopAudioOnBattleStart();
    SoundManager.playBattleStart();
    this.startEncounterEffect();
    this._ningjingWindow.hide();
    this._mapNameWindow.hide();
};

function Window_Testing() {
    this.initialize.apply(this, arguments);
}
Window_Testing.prototype = Object.create(Window_Base.prototype);
Window_Testing.prototype.initialize = function(x, y, width, height) {
    Window_Base.prototype.initialize.call(this, x, y, width, height);
    this.contents.fontSize = 20;
}

Window_Testing.prototype.standardPadding = function() {
    return 8;
};

Window_Testing.prototype.update = function() {
    Window_Base.prototype.update.call(this);

        if ($gameVariables.value(1)==0){
                $gameVariables._data[1]=1
                $gameVariables._data[2]=1
                $gameVariables._data[3]=1
                $gameVariables._data[4]=1
        }else if($gameVariables.value(5)>=4){
                $gameVariables._data[5]-=4
                $gameVariables._data[2]+=1
        }else if($gameVariables.value(2)>=25){
                $gameVariables._data[2]-=24
                $gameVariables._data[1]+=1
        }else if($gameVariables.value(1)>=31){
                $gameVariables._data[1]-=30
                $gameVariables._data[3]+=1
        }else if($gameVariables.value(3)>=13){
                $gameVariables._data[3]-=12
                $gameVariables._data[14]+=1
        }
    var textW = 270;
    var textH = 0;
    this.contents.clear();
    this.drawText($gameVariables.value(1) + "日", -180, -6, textW, 'right');
    textH += this.lineHeight();
    this.drawText($gameVariables.value(2) + "时", -130, -6, textW, 'right');
    textH += this.lineHeight();
    this.drawText($gameVariables.value(3) + "月", -80, -6, textW, 'right');
    textH += this.lineHeight();
    this.drawText($gameVariables.value(4) + "年", -30, -6, textW, 'right');
    textH += this.lineHeight();

我觉得这条代码这样改会好用一点
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-26 13:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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