# See the License for the specific language governing permissions and
# limitations under the License.
-module ballz_android
+module ballz_android is
+ app_version(1, 0, git_revision)
+ app_name("Ballz")
+end
+
+import android::portrait
-import realtime
-import mnit_android
import game_logic
-class MyApp
- super App
+redef class App
var screen: nullable Screen
- var target_dt = 20000000
-
- init do super
+ redef fun run
+ do
+ sensors_support_enabled = true
+ accelerometer.enabled = true
+ accelerometer.event_rate = 10000
+ magnetic_field.enabled = true
+ gyroscope.enabled = true
+ light.enabled = true
+ proximity.enabled = true
+ maximum_fps = 50
+ super
+ end
- redef fun init_window
+ redef fun window_created
do
super
screen = new Screen(self, display.as(Display))
-
end
redef fun frame_core(display)
do
var screen = self.screen
if screen != null then
- var clock = new Clock
-
screen.game.do_turn
screen.do_frame(display)
-
- var dt = clock.lapse
- if dt.sec == 0 and dt.nanosec < target_dt then
- var sleep_t = target_dt - dt.nanosec
- sys.nanosleep(0, sleep_t)
- end
end
end
return false
end
end
-
-var app = new MyApp
-app.sensors_support_enabled = true
-app.accelerometer.enabled = true
-app.accelerometer.event_rate = 10000
-app.magnetic_field.enabled = true
-app.gyroscope.enabled = true
-app.light.enabled = true
-app.proximity.enabled = true
-app.main_loop