Particles
Particles
create main.lua file
display.setStatusBar( display.HiddenStatusBar )
local particleDesigner = require( "particleDesigner" )
local kaboom = particleDesigner.newEmitter( "'+jname+'_temp.json" )
kaboom.x = display.contentWidth / 2
kaboom.y = display.contentHeight / 2
Model
{
configName = '',
textureFileName = '',
common = {
duration = 0,
sourcePositionVariancex = 0,
sourcePositionVariancey = 0,
maxParticles = 0,
},
emitter = {
emittyerType = 0, -- 0=grevity, 1=radial
angle = 0,
angleVariance = 0,
gravity = {
speed = 0,
speedVariance = 0,
gravityx = 0,
gravityy = 0,
radialAcceleration = 0,
radialAccelVariance = 0,
tangentialAcceleration = 0,
tangentialAccelVariance = 0,
},
radial = {
maxRadius = 0,
maxRadiusVariance = 0,
minRadius = 0,
minRadiusVariance = 0,
rotatePerSecond = 0,
rotatePerSecondVariance = 0,
}
},
particles = {
particleLifespan = 0,
particleLifespanVariance = 0,
startParticleSize = 0,
startParticleSizeVariance = 0,
finishParticleSize = 0,
finishParticleSizeVariance = 0,
rotationStart = 0,
rotationStartVariance = 0,
rotationEnd = 0,
rotationEndVariance = 0,
},
colors = {
startColorAlpha = 0,
startColorRed = 0,
startColorGreen = 0,
startColorBlue = 0,
startColorVarianceRed = 0,
startColorVarianceGreen = 0,
startColorVarianceBlue = 0,
startColorVarianceAlpha = 0,
finishColorAlpha = 0,
finishColorRed = 0,
finishColorGreen = 0,
finishColorBlue = 0,
blendFuncSource = 0,
finishColorVarianceRed = 0,
finishColorVarianceGreen = 0,
finishColorVarianceBlue = 0,
finishColorVarianceAlpha = 0,
blendFuncDestination = 0,
},
}
var st = String(myParticles.blendFuncSource)
switch (st) {
case '0':
st=0;
break;
case '1':
st=1;
break;
case '774':
st=2;
break;
case '775':
st=3;
break;
case '770':
st=4;
break;
case '771':
st=5;
break;
case '772':
st=6;
break;
case '773':
st=7;
break;
case '776':
st=8;
break;
}
//
var st2 = String(myParticles.blendFuncDestination)
switch (st2) {
case '0':
st2=0;
break;
case '1':
st2=1;
break;
case '774':
st2=2;
break;
case '775':
st2=3;
break;
case '770':
st2=4;
break;
case '771':
st2=5;
break;
case '772':
st2=6;
break;
case '773':
st2=7;
break;
case '776':
st2=8;
break;
}
//Default
//image/texture
if (oriParticleFile != true && preview == true) {
myParticles.textureFileName = '"'+newParticleFile+'"';
} else if (oriParticleFile != true && preview != true) {
ico = dlg.partName.e.text+".png";
ico = ico.replace(/"/gi, "")
myParticles.textureFileName = '"'+ico+'"';
} else if (oriParticleFile == true && preview != true) {
ico = dlg.partName.e.text+".png";
ico = ico.replace(/"/gi, "")
myParticles.textureFileName = '"'+ico+'"';
} else {
ico = ico.replace(/"/gi, "")
myParticles.textureFileName = '"'+ico+'"';
}
//particles content
//Color content
switch (st) {
case 'Zero':
st=0;
break;
case 'One':
st=1;
break;
case 'Dst_Color':
st=774;
break;
case 'One_Minus_Dst_Color':
st=775;
break;
case 'Src_Alpha':
st=770;
break;
case 'One_Minus_Src_Alpha':
st=771;
break;
case 'Dst_Alpha':
st=772;
break;
case 'One_Minus_Dst_Alpha':
st=773;
break;
case 'Source_Alpha_Saturate':
st=776;
break;
}
myParticles.blendFuncSource = st;
switch (st1) {
case 'Zero':
st1=0;
break;
case 'One':
st1=1;
break;
case 'Dst_Color':
st1=774;
break;
case 'One_Minus_Dst_Color':
st1=775;
break;
case 'Src_Alpha':
st1=770;
break;
case 'One_Minus_Src_Alpha':
st1=771;
break;
case 'Dst_Alpha':
st1=772;
break;
case 'One_Minus_Dst_Alpha':
st1=773;
break;
case 'Source_Alpha_Saturate':
st1=776;
break;
}
myParticles.blendFuncDestination = st1;
function jsonXML(file) {
if (garb == "{") {
toxml += garb.replace("{", "<particles>");
} else if (garb == "}") {
toxml += garb.replace("}", "</particles>");
} else if (garb.search("configName") > 0 ) {
toxml += '<configName>"'+configName+'"</configName>';
} else if (garb.search("textureFileName") > 0 ) {
toxml += '<textureFileName>"'+imagefile+'"</textureFileName>';
} else {
garb = garb.replace('"', "<")
var para = garb.substring(1,garb.search('":'))
garb = garb.replace('":', ">");
garb = garb.replace(',', "");
garb = garb+"</"+para+">";
toxml += garb;
}
}
function xmJSON(file) {
var j = "{ \r\n"
for (var xn=0;xn<=myParticles.elements().length()-1;xn++) {
if (xn!=myParticles.elements().length()-1) {
j += ' "'+myParticles.child(xn).name()+'" : '+myParticles.child(xn)+', \r\n';
} else {
j += ' "'+myParticles.child(xn).name()+'" : '+myParticles.child(xn)+' \r\n';
}
}
j += "}"
}
