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

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

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

Android Разработка игр на платформе Android

Ответ
 
Опции темы
Старый 25.04.2012, 17:19   #1
ratum
Оператор ЭВМ
 
Регистрация: 29.08.2011
Сообщений: 22
Написано 0 полезных сообщений
(для 0 пользователей)
Помогите новичку!

Недавно перешёл с Nokia 5310 на Samsung GT I-9001. До этого работал над рогаликом, который успешно писался на MidletPascal. Хочу портировать всё под андроид, но опыта работы с java нет.
Начал делать проект по аналогии с книгой Pragmatic Hello Android. Застрял практически в начале: при вызове метода из другого класса (getTile из MapView) , который возвращает элемент массива, приложение крашится.
Понимаю, что ошибка мелкая, но сам ни черта ни понимаю

PS. Посоветуйте книги по ооп на Java (можно и на английском).
Вложения
Тип файла: txt MainActivity.txt (939 байт, 665 просмотров)
Тип файла: txt Game.txt (759 байт, 644 просмотров)
Тип файла: txt MapView.txt (1.7 Кб, 6215 просмотров)
(Offline)
 
Ответить с цитированием
Старый 25.04.2012, 17:42   #2
cyberblut
Знающий
 
Регистрация: 14.06.2009
Сообщений: 338
Написано 139 полезных сообщений
(для 257 пользователей)
Ответ: Помогите новичку!

Ну так алгоритм простой, не надо лениться:

1. Посмотреть текст ошибки
2. Подебажить
3. Спросить, указав всю инфу
(Offline)
 
Ответить с цитированием
Старый 25.04.2012, 17:52   #3
ratum
Оператор ЭВМ
 
Регистрация: 29.08.2011
Сообщений: 22
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите новичку!

В том то и дело, что компилирует без ошибок.
(Offline)
 
Ответить с цитированием
Старый 25.04.2012, 18:50   #4
cyberblut
Знающий
 
Регистрация: 14.06.2009
Сообщений: 338
Написано 139 полезных сообщений
(для 257 пользователей)
Ответ: Помогите новичку!

Сообщение от ratum Посмотреть сообщение
В том то и дело, что компилирует без ошибок.
Ну так если падает, значит пишет где и почему упало.
(Offline)
 
Ответить с цитированием
Старый 26.04.2012, 11:20   #5
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Помогите новичку!

Крашится скорее всего из-за того, что твой MapView ещё не создан на момент обращения к его методу. Активити нельзя создавать через NEW.

В какой среде разработки ты делаешь проект? Если в эклипсе, то выкладывай всю папку с проектом, а то эти тхт-шки вынуждают всё самому доделывать, а нафиг это нужно.
(Offline)
 
Ответить с цитированием
Старый 26.04.2012, 12:36   #6
cyberblut
Знающий
 
Регистрация: 14.06.2009
Сообщений: 338
Написано 139 полезных сообщений
(для 257 пользователей)
Ответ: Помогите новичку!

Сообщение от Жека Посмотреть сообщение
Крашится скорее всего из-за того, что твой MapView ещё не создан на момент обращения к его методу. Активити нельзя создавать через NEW.

В какой среде разработки ты делаешь проект? Если в эклипсе, то выкладывай всю папку с проектом, а то эти тхт-шки вынуждают всё самому доделывать, а нафиг это нужно.
На сколько я обратил внимание - MapView не активити, а вьюха.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Жека (27.04.2012)
Старый 26.04.2012, 18:23   #7
ratum
Оператор ЭВМ
 
Регистрация: 29.08.2011
Сообщений: 22
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите новичку!

В основном на телефоне через AIDE пишу.
Вроде переписал код на Eclipse. Проверить не могу: после очистки workspace эмулятор андроид ведёт себя неадекватно. Останавливается на шаге Waiting for HOME ('android.process.acore') to be launched...
Вложения
Тип файла: rar Tomb.rar (146.5 Кб, 423 просмотров)
(Offline)
 
Ответить с цитированием
Старый 27.04.2012, 10:08   #8
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Помогите новичку!

Тестировать конечно лучше на настоящем телефоне.
Ошибка у тебя не в коде оказалась, а в том что ты не указал все свои активити в манифесте.
В файле AndroidManifest.xml нужно указывать все активити, которые ты собираешься запускать.
Я дописал
<activity
    android:name=".Game"
    android:label="@string/app_name" >
</activity>
И всё заработало, увидел поле с зелёными циферками.
Про вьюху не заметил когда писал выше.
(Offline)
 
Ответить с цитированием
Старый 27.04.2012, 15:19   #9
ratum
Оператор ЭВМ
 
Регистрация: 29.08.2011
Сообщений: 22
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите новичку!

Совсем забыл про манифест. Но проблема не в нём. В оригинале (на AIDE) манифест был дописан. И не работало.
При замене int на MapClass опять крашится. В чём причина?
И последний: как убрать полосу состояния при включённом приложении?
Вложения
Тип файла: rar Tomb.rar (147.0 Кб, 408 просмотров)
(Offline)
 
Ответить с цитированием
Старый 27.04.2012, 15:29   #10
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Помогите новичку!

Активити создаётся автоматически при старте прилоежения самой ОСью. Тебе не нужно создавать активити самому. В конструкторе активити, тебе нужно указать View, он может быть лайоутом генерированным в эклипсе, или твоим классом. Но тогда он должен иметь в себе реализацию всех методов и т.п.

Также, если ты хочешь заняться графикой, советую сразу смотреть в сторону ОГЛ либо канвасы.

ЗЫ, до того как заниматься портами, пройдись по туторам от гугла, разберись как андройд устроен, т.к. это очень отличается от всего другого..
(Offline)
 
Ответить с цитированием
Старый 28.04.2012, 06:16   #11
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Помогите новичку!

Сообщение от ratum Посмотреть сообщение
Совсем забыл про манифест. Но проблема не в нём. В оригинале (на AIDE) манифест был дописан. И не работало.
При замене int на MapClass опять крашится. В чём причина?
Причина скорей всего в том что перед обращением к экземпляру MapClass ты не создал его.
Выкладываю тебе код исправленный, в нём всё работает с MapClass.
И последний: как убрать полосу состояния при включённом приложении?
Я знаю два способа, оба включил в твою прогу.
1. Прописать в AndroidManifest.xml строчку-параметр для активити
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
2. В коде для метода активити onCreate(Bundle b) написать две строки
super.onCreate(b);
//полноэкранный режим
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
ЗЫ, до того как заниматься портами, пройдись по туторам от гугла, разберись как андройд устроен, т.к. это очень отличается от всего другого
Прислушайся к совету, разберись в простом, потом переходи к своим задумкам.
Вложения
Тип файла: zip Tomb_new.zip (227.1 Кб, 428 просмотров)
(Offline)
 
Ответить с цитированием
Старый 28.04.2012, 13:06   #12
ratum
Оператор ЭВМ
 
Регистрация: 29.08.2011
Сообщений: 22
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите новичку!

Спасибо всем огромное! Сам без помощи не разобрался бы. Буду выкладывать новые вопросы по мере появления
(Offline)
 
Ответить с цитированием
Старый 05.05.2012, 15:53   #13
ratum
Оператор ЭВМ
 
Регистрация: 29.08.2011
Сообщений: 22
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите новичку!

Дописал код, добавил геттеры и сеттеры, но метод fillArea перестал работать. Или не правильно обращаюсь к массиву? Где я ошибся?

Как работать с изобржениями (загрузка, вывод) ? Как работать с таилсетами? На developer.android.com ничего не понимаю
Вложения
Тип файла: rar Tomb.rar (150.8 Кб, 412 просмотров)

Последний раз редактировалось ratum, 06.05.2012 в 14:16.
(Offline)
 
Ответить с цитированием
Старый 09.05.2012, 15:09   #14
ratum
Оператор ЭВМ
 
Регистрация: 29.08.2011
Сообщений: 22
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите новичку!

Проблемы решены! Есть ли стандартные методы для работы с таилсетами(создание маленького нового изображения из одного большого)?
(Offline)
 
Ответить с цитированием
Старый 14.05.2012, 23:27   #15
ratum
Оператор ЭВМ
 
Регистрация: 29.08.2011
Сообщений: 22
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите новичку!

В активити Game создан экземпляр hero класса Hero. При нажатии кнопки в MapView(view для Game) создаётся активити Inventory. Как из Inventory получить доступ к hero?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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