设为首页收藏本站同能贴吧 切换语言 繁体中文
开启辅助访问 切换到窄版
扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 68|回复: 0

[转载发布] Simple Confetti Plugin

[复制链接]
累计送礼:
0 个
累计收礼:
1 个
  • TA的每日心情
    开心
    2026-7-12 04:10
  • 签到天数: 209 天

    连续签到: 2 天

    [LV.7]常住居民III

    7959

    主题

    864

    回帖

    3万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    7
    卡币
    29925
    OK点
    16
    推广点
    0
    同能卷
    50
    积分
    38778

    灌水之王

    发表于 3 天前 | 显示全部楼层 |阅读模式
    Hi! I have made a simple Confetti Effect script (first script, with the help of ChatGPT
    ) and after some struggling it works.  I would like to share it with you. Maybe it can help someone...
    1. // ==Plugin==
    2. // @name confetti
    3. // @desc A plugin to add colorful confetti effect to the game.
    4. // ==/Plugin==
    5. (function() {
    6.     var confettiEnabled = false;
    7.     var confettiContainer = null;
    8.     var shouldStopConfetti = false; // New variable
    9.     var _Scene_Map_start = Scene_Map.prototype.start;
    10.     Scene_Map.prototype.start = function() {
    11.         _Scene_Map_start.call(this);
    12.         if (confettiEnabled && !shouldStopConfetti) { // Check shouldStopConfetti
    13.             this.startConfettiEffect();
    14.         }
    15.     };
    16.     var _Scene_Map_terminate = Scene_Map.prototype.terminate;
    17.     Scene_Map.prototype.terminate = function() {
    18.         _Scene_Map_terminate.call(this);
    19.         shouldStopConfetti = true; // Set to true when scene terminates
    20.         this.stopConfettiEffect();
    21.     };
    22.     Scene_Map.prototype.startConfettiEffect = function() {
    23.         var confettiContainer = new Sprite();
    24.         confettiContainer.z = 10;
    25.         this.addChild(confettiContainer);
    26.         var confettiImages = ['confetti', 'confetti2', 'confetti3'];
    27.         var numConfetti = 100;
    28.         for (var i = 0; i < numConfetti; i++) {
    29.             var confettiImage = confettiImages[Math.floor(Math.random() * confettiImages.length)];
    30.             var confetti = new Sprite(ImageManager.loadPicture(confettiImage));
    31.             confetti.x = Math.random() * Graphics.width;
    32.             confetti.y = -Math.random() * 200;
    33.             confetti.anchor.x = 0.5;
    34.             confetti.anchor.y = 0.5;
    35.             confetti.rotationSpeed = Math.random() * 0.1 - 0.05;
    36.             confetti.fallSpeed = Math.random() * 2 + 2;
    37.             confetti.tilt = Math.random() * 30 - 15;
    38.             confetti.blendMode = PIXI.BLEND_MODES.ADD;
    39.             confettiContainer.addChild(confetti);
    40.         }
    41.         confettiContainer.update = function() {
    42.             for (var i = 0; i < this.children.length; i++) {
    43.                 var confetti = this.children[i];
    44.                 confetti.rotation += confetti.rotationSpeed;
    45.                 confetti.y += confetti.fallSpeed;
    46.                 confetti.x += Math.sin(confetti.rotation) * confetti.tilt;
    47.                 if (confetti.y > Graphics.height) {
    48.                     confetti.x = Math.random() * Graphics.width;
    49.                     confetti.y = -10;
    50.                 }
    51.             }
    52.         };
    53.     };
    54.     Scene_Map.prototype.stopConfettiEffect = function() {
    55.         if (confettiContainer) {
    56.             this.removeChild(confettiContainer);
    57.             confettiContainer = null;
    58.         }
    59.     };
    60. })();
    复制代码
    Usage:
    To activate script you use SCRIPT command on an event and paste this code:

    SceneManager._scene.startConfettiEffect();

    If you call the event multiple times... more confetti. Pretty simple.

    The effect is auto-disables when you leave the map

    You need to have images for the confetti on your /img/pictures/ folder. Their name should be confetti.png, confetti2.png, and confetti3.png. You can change this or add more images or whatever editing this line of the script:

            var confettiImages = ['confetti', 'confetti2', 'confetti3'];


    I used these three images, you can use them, or edit them or whatever you want. Same with the code. Use it, edit it, improve it, I dont really care.

    Greetings, friends!


    本贴来自国际rpgmaker官方论坛作者:EdenM处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/simple-confetti-plugin.160525/

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    简体中文
    繁體中文
    English(英语)
    日本語(日语)
    Deutsch(德语)
    Русский язык(俄语)
    بالعربية(阿拉伯语)
    Türkçe(土耳其语)
    Português(葡萄牙语)
    ภาษาไทย(泰国语)
    한어(朝鲜语/韩语)
    Français(法语)
    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2026-8-1 04:49 , Processed in 0.146808 second(s), 61 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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