Game.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. /*
  2. * Copyright (c) 2010 Nokia Corporation.
  3. */
  4. var levelPlugin = null
  5. // ---------------------------------------------------------------------------
  6. // hideMissiles
  7. function hideMissiles() {
  8. missile_1.stop()
  9. missile_1.opacity = 0;
  10. missile_2.stop()
  11. missile_2.opacity = 0;
  12. missile_3.stop()
  13. missile_3.opacity = 0;
  14. missile_4.stop()
  15. missile_4.opacity = 0;
  16. missile_5.stop()
  17. missile_5.opacity = 0;
  18. enemy_missile_1.opacity = 0;
  19. enemy_missile_2.opacity = 0;
  20. }
  21. // ---------------------------------------------------------------------------
  22. // GameOver
  23. function gameOver() {
  24. // Stop GameEngine timers
  25. GameEngine.enableEngineTimer(false)
  26. // Delete loaded plugin level
  27. deleteLevel()
  28. // Hiding
  29. myShip.opacity = 0
  30. btnPause.opacity = 0
  31. }
  32. // ---------------------------------------------------------------------------
  33. // Pause game
  34. function pauseGame(doPause) {
  35. missile_1.pause(doPause)
  36. missile_2.pause(doPause)
  37. missile_3.pause(doPause)
  38. missile_4.pause(doPause)
  39. missile_5.pause(doPause)
  40. enemy_missile_1.pause(doPause)
  41. enemy_missile_2.pause(doPause)
  42. if (doPause) {
  43. btnPause.opacity = 0
  44. } else {
  45. btnPause.opacity = 1
  46. }
  47. GameEngine.pauseLevel(doPause)
  48. }
  49. // ---------------------------------------------------------------------------
  50. // Fire your missile
  51. function fireMissile(aXpox, aFromYpos, aToYpos) {
  52. if (missile_1.opacity<1) {
  53. missile_1.fire(aXpox,aFromYpos,aToYpos)
  54. }
  55. else if (missile_2.opacity<1) {
  56. missile_2.fire(aXpox,aFromYpos,aToYpos)
  57. }
  58. else if (missile_3.opacity<1) {
  59. missile_3.fire(aXpox,aFromYpos,aToYpos)
  60. }
  61. else if (missile_4.opacity<1) {
  62. missile_4.fire(aXpox,aFromYpos,aToYpos)
  63. }
  64. else if (missile_5.opacity<1) {
  65. missile_5.fire(aXpox,aFromYpos,aToYpos)
  66. }
  67. }
  68. // ---------------------------------------------------------------------------
  69. // Fire enemy missile
  70. function fireEnemyMissile(aXpox, aFromYpos, aToYpos) {
  71. if (enemy_missile_1.opacity==0) {
  72. enemy_missile_1.enemyFire(aXpox,aFromYpos,aToYpos)
  73. }
  74. else if (enemy_missile_2.opacity==0) {
  75. enemy_missile_2.enemyFire(aXpox,aFromYpos,aToYpos)
  76. }
  77. }
  78. // ---------------------------------------------------------------------------
  79. // Create level QML component
  80. function createLevel() {
  81. console.log("Creating level "+LevelPlugin.qmlRootPath()+"Level.qml")
  82. var levelComponent = Qt.createComponent("file:/"+LevelPlugin.qmlRootPath()+"Level.qml");
  83. if (levelComponent.status == Component.Ready) {
  84. if (levelPlugin) {
  85. deleteLevel()
  86. }
  87. levelPlugin = levelComponent.createObject(levelId);
  88. if (levelPlugin != null) {
  89. console.log("Level created")
  90. } else {
  91. console.log("Can not create level")
  92. messageBox.showErrorMessage("ERROR: Can not create level!",6000)
  93. return 1
  94. }
  95. } else {
  96. console.log("Can not find level, error:"+levelComponent.errorString())
  97. messageBox.showErrorMessage("ERROR: Can not find level!",6000)
  98. return 1
  99. }
  100. missile_1.createGraphicsForLevel()
  101. missile_1.setToDefaultPos()
  102. missile_2.createGraphicsForLevel()
  103. missile_2.setToDefaultPos()
  104. missile_3.createGraphicsForLevel()
  105. missile_3.setToDefaultPos()
  106. missile_4.createGraphicsForLevel()
  107. missile_4.setToDefaultPos()
  108. missile_5.createGraphicsForLevel()
  109. missile_5.setToDefaultPos()
  110. enemy_missile_1.createGraphicsForLevel()
  111. enemy_missile_2.createGraphicsForLevel()
  112. myShip.createGraphicsForLevel()
  113. return 0
  114. }
  115. // ---------------------------------------------------------------------------
  116. // Delete level
  117. function deleteLevel() {
  118. if (levelPlugin) {
  119. GameEngine.clearQmlObjects()
  120. levelPlugin.destroy()
  121. }
  122. levelPlugin = null;
  123. }