Advertisement
SilentSorrow

Utsuho's Fireballs (experiment)

Feb 6th, 2014
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.63 KB | None | 0 0
  1. #include_function ".\System\variables.txt"
  2.  
  3. //Nuclear Fireballs
  4.  
  5. task fireBalls{
  6. let fireScale = 0;
  7. let obj1 = Obj_Create(OBJ_EFFECT);
  8. let obj2 = Obj_Create(OBJ_EFFECT);
  9. let obj3 = Obj_Create(OBJ_EFFECT);
  10. let obj4 = Obj_Create(OBJ_EFFECT);
  11.  
  12. LoadGraphic(nuclearFireBall1);
  13. LoadGraphic(nuclearFireBall2);
  14.  
  15. //first fireball
  16. ObjEffect_SetRenderState(obj1,ALPHA);
  17. ObjEffect_SetTexture(obj1,nuclearFireBall2);
  18. ObjEffect_SetAngle(obj1,0,0,0);
  19.  
  20. ObjEffect_SetScale(obj1,2.25,2.25);
  21. ObjEffect_SetLayer(obj1,2);
  22. ObjEffect_SetPrimitiveType(obj1,PRIMITIVE_TRIANGLESTRIP);
  23. ObjEffect_CreateVertex(obj1,4);
  24.  
  25. ObjEffect_SetVertexXY(obj1,0,-128,-128);
  26. ObjEffect_SetVertexXY(obj1,1,128,-128);
  27. ObjEffect_SetVertexXY(obj1,2,-128,128);
  28. ObjEffect_SetVertexXY(obj1,3,128,128);
  29.  
  30. ObjEffect_SetVertexUV(obj1,0,0,0);
  31. ObjEffect_SetVertexUV(obj1,1,256,0);
  32. ObjEffect_SetVertexUV(obj1,2,0,256);
  33. ObjEffect_SetVertexUV(obj1,3,256,256);
  34.  
  35. //second fireball
  36. ObjEffect_SetRenderState(obj2,ALPHA);
  37. ObjEffect_SetTexture(obj2,nuclearFireBall2);
  38. ObjEffect_SetAngle(obj2,0,0,0);
  39.  
  40. ObjEffect_SetScale(obj2,2.25,2.25);
  41. ObjEffect_SetLayer(obj2,2);
  42. ObjEffect_SetPrimitiveType(obj2,PRIMITIVE_TRIANGLESTRIP);
  43. ObjEffect_CreateVertex(obj2,4);
  44.  
  45. ObjEffect_SetVertexXY(obj2,0,-128,-128);
  46. ObjEffect_SetVertexXY(obj2,1,128,-128);
  47. ObjEffect_SetVertexXY(obj2,2,-128,128);
  48. ObjEffect_SetVertexXY(obj2,3,128,128);
  49.  
  50. ObjEffect_SetVertexUV(obj2,0,0,0);
  51. ObjEffect_SetVertexUV(obj2,1,256,0);
  52. ObjEffect_SetVertexUV(obj2,2,0,256);
  53. ObjEffect_SetVertexUV(obj2,3,256,256);
  54.  
  55. //first fireball overLay
  56. ObjEffect_SetRenderState(obj3,ALPHA);
  57. ObjEffect_SetTexture(obj3,nuclearFireBall1);
  58. ObjEffect_SetAngle(obj3,0,0,0);
  59.  
  60. ObjEffect_SetScale(obj3,2,2);
  61. ObjEffect_SetLayer(obj3,3);
  62. ObjEffect_SetPrimitiveType(obj3,PRIMITIVE_TRIANGLESTRIP);
  63. ObjEffect_CreateVertex(obj3,4);
  64.  
  65. ObjEffect_SetVertexXY(obj3,0,-128,-128);
  66. ObjEffect_SetVertexXY(obj3,1,128,-128);
  67. ObjEffect_SetVertexXY(obj3,2,-128,128);
  68. ObjEffect_SetVertexXY(obj3,3,128,128);
  69.  
  70. ObjEffect_SetVertexUV(obj3,0,0,0);
  71. ObjEffect_SetVertexUV(obj3,1,256,0);
  72. ObjEffect_SetVertexUV(obj3,2,0,256);
  73. ObjEffect_SetVertexUV(obj3,3,256,256);
  74.  
  75. //second fireball overLay
  76. ObjEffect_SetRenderState(obj4,ALPHA);
  77. ObjEffect_SetTexture(obj4,nuclearFireBall1);
  78. ObjEffect_SetAngle(obj4,0,0,0);
  79.  
  80. ObjEffect_SetScale(obj4,2,2);
  81. ObjEffect_SetLayer(obj4,3);
  82. ObjEffect_SetPrimitiveType(obj4,PRIMITIVE_TRIANGLESTRIP);
  83. ObjEffect_CreateVertex(obj4,4);
  84.  
  85. ObjEffect_SetVertexXY(obj4,0,-128,-128);
  86. ObjEffect_SetVertexXY(obj4,1,128,-128);
  87. ObjEffect_SetVertexXY(obj4,2,-128,128);
  88. ObjEffect_SetVertexXY(obj4,3,128,128);
  89.  
  90. ObjEffect_SetVertexUV(obj4,0,0,0);
  91. ObjEffect_SetVertexUV(obj4,1,256,0);
  92. ObjEffect_SetVertexUV(obj4,2,0,256);
  93. ObjEffect_SetVertexUV(obj4,3,256,256);
  94.  
  95. //animation syntaxes
  96. let x = GetCenterX;
  97. let y = GetCenterY;
  98. let alphaVal = 0;
  99. let frame = 0;
  100. let spin = 0;
  101.  
  102. while(!Obj_BeDeleted(obj1)){
  103. if(frame < 60){
  104. if(alphaVal < 255){
  105. alphaVal+=255/30;
  106. }
  107. }
  108.  
  109. Obj_SetPosition(obj1,x,GetClipMaxY);
  110. Obj_SetPosition(obj2,x,GetClipMinY);
  111. Obj_SetPosition(obj3,x,GetClipMaxY);
  112. Obj_SetPosition(obj4,x,GetClipMinY);
  113.  
  114. ascent(i in 0..4){
  115. ObjEffect_SetVertexColor(obj1,i,alphaVal,255,30,30);
  116. ObjEffect_SetVertexColor(obj2,i,alphaVal,255,30,30);
  117. ObjEffect_SetVertexColor(obj3,i,alphaVal,255,255,255);
  118. ObjEffect_SetVertexColor(obj4,i,alphaVal,255,255,255);
  119. }
  120.  
  121. ObjEffect_SetAngle(obj1,0,0,spin);
  122. ObjEffect_SetAngle(obj2,0,0,spin);
  123. ObjEffect_SetAngle(obj3,0,0,spin);
  124. ObjEffect_SetAngle(obj4,0,0,spin);
  125. spin+=2;
  126. frame++;
  127. yield;
  128. }
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement