//=============================================================================
// MOG_TitleParticles.js
// 标题界面粒子效果及魔法圈
//=============================================================================
/*:
* @plugindesc (v1.1) 在初始化页面创建出粒子,利用粒子制作动画
* @author Moghunter
*
* @param ParticleNumber
* @desc Quantidade de partículas na tela.//粒子个数
* (Default - 25)
* @default 25
*
* @param X axis Speed
* @desc Velocidade da partícula na horizontal.//粒子水平速度
* @default 1
*
* @param Y axis Speed
* @desc Velocidade da partícula na vertical.//粒子垂直速度
* @default -2
*
* @param A Speed
* @desc Velocidade do ângulo das partículas.//粒子角速度
* (Default - 0.02)
* @default 0.02
*
* @param Blend Mode
* @desc Tipo de Blend. (0 a 2)//图像混合模式
* @default 1
*
* @param OX
* @desc Definição da origem X das partículas. (0.5 - Centralizado / 1.0 - Normal)//粒子锚点X
* @default 1.0
*
* @param OY
* @desc Definição da origem Y das partículas. (0.5 - Centralizado / 1.0 - Normal)//粒子锚点Y
* @default 1.0
*
* @param Magic Circle Visible
* @desc Ativar o sprite do circulo mágico. (true / false)//魔法圈是否可见
* É necessário ter o arquivo Magic_Circle.png//需要Magic_Circle.png
* @default false
*
* @param Magic Circle OX
* @desc Definição da posição X-axis do circulo mágico.//魔法圈锚点X
* @default 0
*
* @param Magic Circle OY
* @desc Definição da posição Y-axis do circulo mágico.//魔法圈锚点Y
* @default 0
*
* @param Magic Circle A Speed
* @desc Definição da velocidade de rotação do circulo mágico.//魔法圈转速
* (Default - 0.01)
* @default 0.01
*
* @param Magic Circle Blend Type
* @desc Tipo de Blend. (0 a 2)//魔法圈混合类型
* @default 1
*
* @help
* =============================================================================
* +++ MOG - Title Particles (v1.1) +++
* By Moghunter
* https://atelierrgss.wordpress.com/
* =============================================================================
* Adiciona partículas animadas na tela de título
* alem da opção de ativar o circulo mágico.
* É necessário ter o arquivo Particles.png na pasta.
*
* img/titles2/
*
* =============================================================================
* ** Histórico **
* =============================================================================
* v1.1 - Melhoria na codificação.
*
*
*/
//=============================================================================
// ** PLUGIN PARAMETERS
//=============================================================================
var Imported = Imported || {};
Imported.MOG_Title_Particles = true;
var Moghunter = Moghunter || {};
Moghunter.parameters = PluginManager.parameters('MOG_TitleParticles');
Moghunter.title_particle_number = Number(Moghunter.parameters['ParticleNumber'] || 25);
Moghunter.title_particle_sx = Number(Moghunter.parameters['X axis Speed'] || 1);
Moghunter.title_particle_sy = Number(Moghunter.parameters['Y axis Speed'] || 1);
Moghunter.title_particle_a = Number(Moghunter.parameters['A Speed'] || 0.02);
Moghunter.title_particle_blend_mode = Number(Moghunter.parameters['Blend Mode'] || 1);
Moghunter.title_particle_anchor_x = Number(Moghunter.parameters['OX'] || 1.0);
Moghunter.title_particle_anchor_y = Number(Moghunter.parameters['OY'] || 1.0);
Moghunter.title_particle_circle = (Moghunter.parameters['Magic Circle Visible'] || true);
Moghunter.title_particle_circle_x = Number(Moghunter.parameters['Magic Circle OX'] || 0);
Moghunter.title_particle_circle_y = Number(Moghunter.parameters['Magic Circle OY'] || 0);
Moghunter.title_particle_circle_a = Number(Moghunter.parameters['Magic Circle A Speed'] || 0.01);
Moghunter.title_particle_circle_blend = Number(Moghunter.parameters['Magic Circle Blend Type'] || 1);
//=============================================================================
// ** Scene Title
//=============================================================================
//==============================
// * Create
// * 重写Scene_Title原型中createBackground
// * 新增create_particles、create_magic_circle
//==============================
var _alias_mog_title_particles_createBackground = Scene_Title.prototype.createBackground;
Scene_Title.prototype.createBackground = function() {
_alias_mog_title_particles_createBackground.call(this);
this.create_particles(); //创建粒子
this.create_magic_circle(); //创建魔法圈
};
//==============================
// * Update
// * 重写Scene_Title原型中update
// * 新增update_particles、update_magic_circle
//==============================
var _alias_mog_title_particles_update = Scene_Title.prototype.update;
Scene_Title.prototype.update = function() {
_alias_mog_title_particles_update.call(this);
this.update_particles(); //更新粒子
this.update_magic_circle(); //更新魔法圈
};
//==============================
// * Create Particles
//==============================
Scene_Title.prototype.create_particles = function() {
var _sprite_particles_img = ImageManager.loadTitle2("Particles"); //粒子图片img\titles2\Particles.png
this._sprite_particles = [];
this._sprite_particles_data = [];
for (i = 0; i < Moghunter.title_particle_number; i++){ //title_particle_number粒子数量,默认25
this._sprite_particles.push(new Sprite(_sprite_particles_img));
this.addChild(this._sprite_particles[i]);
this._sprite_particles_data[i] = []
this.reset_particles(i);
this._sprite_particles[i].x = Math.floor((Math.random() * Graphics.boxWidth));
this._sprite_particles[i].y = Math.floor((Math.random() * Graphics.boxHeight));
this._sprite_particles[i].opacity = 0;
this._sprite_particles[i].anchor.x = Moghunter.title_particle_anchor_x;
this._sprite_particles[i].anchor.y = Moghunter.title_particle_anchor_y;
this._sprite_particles[i].blendMode = Moghunter.title_particle_blend_mode;
};
};
//==============================
// * Reset Particles
// * 重置粒子
//==============================
Scene_Title.prototype.reset_particles = function(i) {
this._sprite_particles_data[i][0] = Math.floor((Math.random() * 2) * Moghunter.title_particle_sx) //x轴移动速度title_particle_sx
this._sprite_particles_data[i][1] = Math.floor((Math.random() * 2) * Moghunter.title_particle_sy) //y轴移动速度title_particle_sy
this._sprite_particles_data[i][2] = ((Math.random() * Moghunter.title_particle_a)); //粒子角速度
this._sprite_particles[i].opacity = 0;
this._sprite_particles[i].x = Math.floor((Math.random() * Graphics.boxWidth));
var pz = ((Math.random() * 0.5) * 1);
this._sprite_particles[i].scale = new PIXI.Point(0.5 + Number(pz), 0.5 + Number(pz));
/**
* y轴速度的正负值,决定粒子初始位置
*/
if (Moghunter.title_particle_sy < 0) {
this._sprite_particles[i].y = Graphics.boxHeight + this._sprite_particles[i].height * 2;
}
else if (Moghunter.title_particle_sy > 0)
{
this._sprite_particles[i].y = -this._sprite_particles[i].height * 2;
}
else {
this._sprite_particles[i].y = Math.floor((Math.random() * Graphics.boxHeight));
}
if (this._sprite_particles_data[i][0] == 0 && this._sprite_particles_data[i][1] == 0) {
this._sprite_particles[i].x = -this._sprite_particles[i].width * 5;
this._sprite_particles_data[i][0] = 9999;
this._sprite_particles_data[i][1] = 9999;
};
}
//==============================
// * Reset Particles C
// * 粒子重置检测
//==============================
Scene_Title.prototype.reset_particles_c = function(i) {
//if (this._sprite_particles_data[i] == null) {return false};
if (this._sprite_particles[i].x < -this._sprite_particles[i].width * 2 || this._sprite_particles[i].x > Graphics.boxWidth + this._sprite_particles[i].width * 2) {return true};
if (this._sprite_particles[i].y < -this._sprite_particles[i].height * 2 || this._sprite_particles[i].y > Graphics.boxHeight + this._sprite_particles[i].height * 2 ) {return true};
return false;
}
//==============================
// * Update Particles
// * 横纵向移动、透明度改变、转动
//==============================
Scene_Title.prototype.update_particles = function() {
for (var i = 0; i < this._sprite_particles.length; i++) {
this._sprite_particles[i].x += this._sprite_particles_data[i][0];
this._sprite_particles[i].y += this._sprite_particles_data[i][1];
this._sprite_particles[i].opacity += 2;
this._sprite_particles[i].rotation += this._sprite_particles_data[i][2];
if (this.reset_particles_c(i)) { this.reset_particles(i);};
};
};
//==============================
// * Create Magic Circle
// * 创建魔法圈
//==============================
Scene_Title.prototype.create_magic_circle = function() {
if (Moghunter.title_particle_circle != "true") {return};
this._sprite_mgc = new Sprite(ImageManager.loadTitle2("Magic_Circle")); //
this._sprite_mgc.x = Moghunter.title_particle_circle_x;
this._sprite_mgc.y = Moghunter.title_particle_circle_y;
this._sprite_mgc.anchor.x = 0.5;
this._sprite_mgc.anchor.y = 0.5;
this._sprite_mgc.opacity = 0;
this._sprite_mgc.blendMode = Moghunter.title_particle_circle_blend;
this.addChild(this._sprite_mgc);
}
//==============================
// * Update Magic Circle
// * 魔法圈更新(转动、透明度改变)
//==============================
Scene_Title.prototype.update_magic_circle = function() {
if (Moghunter.title_particle_circle != "true") {return};
this._sprite_mgc.rotation += Moghunter.title_particle_circle_a;
this._sprite_mgc.opacity += 3;
}
MOG_TitleParticles.js【中文注解】【标题粒子效果】
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...