Guest User

Untitled

a guest
Jan 19th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. var particle:Array;
  2. var frame:Number;
  3. for(var i:int=0;i<particles.length;i++) {
  4. particle=particles[i];
  5.  
  6. //particle[4]-=0.05;
  7. frame=particle[4];
  8. //проиграли все кадры, удаляем частицу
  9. if(frame>=16) {
  10. particles.splice(i--,1);
  11. continue;
  12. }
  13. //передвигаем на следующий кадр
  14. particle[4]+=1;
  15.  
  16. //смещаем координаты частицы
  17. particle[0]+=particle[5];
  18. particle[1]+=particle[6];
  19.  
  20. //копируем спрайт на сцену
  21. drawSprite(BD,particleSprites,particle[0],particle[1],particle[2],particle[3],frame);
  22. }
  23. BD.unlock();
  24.  
  25. if (pucks == null) return;
  26.  
  27. var p:Puck;
  28. var sp:Number;
  29. var prob:Number;
  30. var k:int;
  31.  
  32. for (var z:int = 0; z < pucks.length; z++) {
  33. p = pucks[z] as Puck;
  34. if (p == null) continue;
  35.  
  36. sX = p.dx*20/5000; sY = p.dy*20/5000;
  37. if(sX==0 && sY==0) continue;
  38. if(sX>20) sX=20; else if(sX<-20) sX=-20;
  39. if(sY>20) sY=20; else if(sY<-20) sY=-20;
  40.  
  41. //вероятность появления новой частицы зависит от скорости
  42. sp=Math.sqrt(sX*sX+sY*sY);
  43. prob=sp/20;
  44.  
  45. if(Math.random()<prob) {
  46. // вычисляем цвет частицы
  47. var n:int = getUser(p.user_id);
  48.  
  49. // создаем сразу 6 частиц, с разными скоростями
  50.  
  51. for(k=0;k<1;k++) { //цикл для экспериментов
  52. particles.push([p.x+Math.random()*60-30, p.y+Math.random()*60-30, Math.round(Math.random()*particleSprites[n].length-1),n, 0,sX/5,sY/5]);
  53. particles.push([p.x+Math.random()*40-20, p.y+Math.random()*40-20, Math.round(Math.random()*particleSprites[n].length-1),n, 0,sX/4,sY/4]);
  54. particles.push([p.x+Math.random()*20-10, p.y+Math.random()*20-10, Math.round(Math.random()*particleSprites[n].length-1),n, 0,sX/3,sY/3]);
  55. particles.push([p.x+Math.random()*40-20, p.y+Math.random()*40-20, Math.round(Math.random()*particleSprites[n].length-1),n, 0,sX/2,sY/2]);
  56. particles.push([p.x+Math.random()*20-10, p.y+Math.random()*20-10, Math.round(Math.random()*particleSprites[n].length-1),n, 0,sX,sY]);
  57. }
  58. }
  59. }
Add Comment
Please, Sign In to add comment