Advertisement
Guest User

Background task

a guest
Dec 31st, 2013
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.97 KB | None | 0 0
  1. task DrawBackground{
  2. let stageSpeed = 1;
  3.  
  4. SetViewSettings;
  5. ascent(i in -5..100){
  6. DrawWater(i);
  7. DrawGrass(i);
  8. DrawRoad(i);
  9. DrawBank(i);
  10. }
  11.  
  12. task SetViewSettings{
  13. SetCameraFocusXYZ(0, 0, 0);
  14. SetCameraRadius(675);
  15. SetCameraElevationAngle(145);
  16. SetFogEnable(true);
  17. SetFogParam(675, 1250, 128, 32, 255);
  18. SetCameraAzimuthAngle(0);
  19. }
  20.  
  21. task DrawRoad(XDistance){
  22. let objRoad = ObjPrim_Create(OBJ_SPRITE_3D);
  23. let slideX = XDistance*256;
  24.  
  25. ObjPrim_SetTexture(objRoad, road);
  26. Obj_SetRenderPriority(objRoad, 0.21);
  27. ObjSprite3D_SetSourceDestRect(objRoad, 0, 0, 256, 256);
  28. ObjRender_SetAngleXYZ(objRoad, 90, 90, 0);
  29.  
  30. while(!Obj_IsDeleted(objBoss)){
  31. ObjRender_SetPosition(objRoad, slideX, 15, -192);
  32.  
  33. slideX-=stageSpeed;
  34. yield;
  35. }
  36. }
  37.  
  38. task DrawBank(XDistance){
  39. let objBank = ObjPrim_Create(OBJ_SPRITE_3D);
  40. let slideX = XDistance*256;
  41.  
  42. ObjPrim_SetTexture(objBank, bank);
  43. Obj_SetRenderPriority(objBank, 0.21);
  44. ObjSprite3D_SetSourceDestRect(objBank, 0, 0, 256, 256);
  45. ObjRender_SetAngleXYZ(objBank, 90, 90, 0);
  46.  
  47. while(!Obj_IsDeleted(objBoss)){
  48. ObjRender_SetPosition(objBank, slideX, 15, -444);
  49.  
  50. slideX-=stageSpeed;
  51. yield;
  52. }
  53. }
  54.  
  55. task DrawGrass(XDistance){
  56. let objMoss1 = ObjPrim_Create(OBJ_SPRITE_3D);
  57. let slideX1 = XDistance*126+64;
  58. let slideX2 = XDistance*126;
  59.  
  60. ObjPrim_SetTexture(objMoss1, plant);
  61. Obj_SetRenderPriority(objMoss1, 0.21);
  62. ObjSprite3D_SetSourceDestRect(objMoss1, 0, 1, 64, 127);
  63. ObjRender_SetAngleXYZ(objMoss1, 90, 90, 0);
  64.  
  65. let objMoss2 = ObjPrim_Create(OBJ_SPRITE_3D);
  66.  
  67. ObjPrim_SetTexture(objMoss2, plant);
  68. Obj_SetRenderPriority(objMoss2, 0.21);
  69. ObjSprite3D_SetSourceDestRect(objMoss2, 0, 1, 64, 127);
  70. ObjRender_SetAngleXYZ(objMoss2, 90, 90, 0);
  71.  
  72. while(!Obj_IsDeleted(objBoss)){
  73. ObjRender_SetPosition(objMoss1, slideX1, 10, -72);
  74. ObjRender_SetPosition(objMoss2, slideX2, 10, -72);
  75.  
  76. slideX1-=stageSpeed;
  77. slideX2-=stageSpeed;
  78. yield;
  79. }
  80. }
  81.  
  82. task DrawWater(XDistance){
  83. let objWater1 = ObjPrim_Create(OBJ_SPRITE_3D);
  84. let slideX1 = XDistance*256;
  85. let slideZ1 = 128;
  86.  
  87. ObjPrim_SetTexture(objWater1, water);
  88. Obj_SetRenderPriority(objWater1, 0.20);
  89. ObjSprite3D_SetSourceDestRect(objWater1, -20000, 0, 20000, 256);
  90. ObjRender_SetAngleXYZ(objWater1, 90, 90, 0);
  91. ObjRender_SetAlpha(objWater1, 255);
  92.  
  93. let objWater2 = ObjPrim_Create(OBJ_SPRITE_3D);
  94. let slideX2 = XDistance*256-32;
  95. let slideZ2 = 128;
  96.  
  97. ObjPrim_SetTexture(objWater2, water);
  98. Obj_SetRenderPriority(objWater2, 0.20);
  99. ObjSprite3D_SetSourceDestRect(objWater2, -20000, 0, 20000, 256);
  100. ObjRender_SetAngleXYZ(objWater2, 90, 90, 0);
  101. ObjRender_SetAlpha(objWater2, 128);
  102.  
  103. while(!Obj_IsDeleted(objBoss)){
  104. ObjRender_SetPosition(objWater1, slideX1, -50, slideZ1);
  105. ObjRender_SetPosition(objWater2, slideX2, -50, slideZ2);
  106.  
  107. slideX1-=stageSpeed;
  108. slideX2-=stageSpeed;
  109. slideZ1-=0.25;
  110. slideZ2+=0.25;
  111. yield;
  112. }
  113. }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement