Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > JAVA Micro Edition > Программирование

Программирование Вопросы связанные с программированием в JAVA

Ответ
 
Опции темы
Старый 12.07.2006, 14:43   #1
SubZer0
Администратор
 
Аватар для SubZer0
 
Регистрация: 03.09.2005
Сообщений: 2,408
Написано 301 полезных сообщений
(для 996 пользователей)
Сообщение еще вопрос

блин... Маркс с Энгельсом пролетают (ламо несчастные), они не пробовали на яве программировать... еще и без литературы.

короче пошарился я и понял, что главный цикл игры вешают или на отдельную нить с регуляцией ФПС, или просто на таймер. Пробую повешать на таймер:

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import java.util.*;

public class Main extends MIDlet {
    Timer timer = null;
    MyTask Mtt = null;

    
    public void startApp() {
        
        Mtt = new MyTask();
        timer = new Timer();
        timer.schedule( Mtt, 0, 1000 );
    }
    
    public void pauseApp() {
    }
    
    public void destroyApp(boolean unconditional) {
        
    }
    
    public void exit() {
        timer.cancel();
        destroyApp( true );
        notifyDestroyed();
    }
}

class MyTask extends TimerTask {
    
    public void run() {
        System.out.println( "Запуск задачи" );
    }
}
все вешается, и все работает... теперь вопрос как из этого выйти!

из самого класса MyTask нельзя вызвать какойнить метод класса Main, или я просто не знаю как это сделать.

короче вопрос: как из метода run() вызвать метод exit()???

__________________
Как минимум я помог многим (с)
(Offline)
 
Ответить с цитированием
Старый 12.07.2006, 20:45   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import java.util.*;

public class Main extends MIDlet {
    Timer timer = null;
    MyTask Mtt = null;
    public static Main m = null;


    
    public void startApp() {
        m=this;
        Mtt = new MyTask();
        timer = new Timer();
        timer.schedule( Mtt, 0, 1000 );
    }
    
    public void pauseApp() {
    }
    
    public void destroyApp(boolean unconditional) {
        
    }
    
    public void exit() {
        timer.cancel();
        destroyApp( true );
        notifyDestroyed();
    }
}

class MyTask extends TimerTask {
    public static Main midlet = null;

    public void run() {
        System.out.println( "Запуск задачи" );
        midlet.m.Exit();
    }
}
Решается статическими переменными (см. исправленный код выше)

__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 12.07.2006, 21:47   #3
SubZer0
Администратор
 
Аватар для SubZer0
 
Регистрация: 03.09.2005
Сообщений: 2,408
Написано 301 полезных сообщений
(для 996 пользователей)
Урраааа!!! хоть ктото ответил мне в этом интернете... спасиб! респект!

только у меня в мидлете не дает статичное ничего определить... просто паблик, а в классах ужо можно... и самое главно евсё работает!!!

__________________
Как минимум я помог многим (с)
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос c++ и b3d LD Разработка LIB 5 19.02.2009 19:22
Вопрос Fant 3D-программирование 8 05.03.2007 15:26
Вопрос Akima Наш форум 5 31.12.2006 18:09


Часовой пояс GMT +4, время: 20:31.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com