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

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

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

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

Ответ
 
Опции темы
Старый 16.10.2011, 06:16   #1
MoteX
Нуждающийся
 
Аватар для MoteX
 
Регистрация: 21.10.2009
Сообщений: 51
Написано 6 полезных сообщений
(для 8 пользователей)
Basic4android

В поисках согласия с андроид явой и так ничего не добившись я решил опробовать Basic4android
----
описание:
Basic4Android — одна из самых простых и мощных IDE для разработки приложений, работающих на ОС Android. Язык Basic4Android похож на язык Visual Basic, но с дополнительной поддержкой объектов. В отличие от других IDE, Basic4Android ориентирован только на разработку приложений для Android. Программа включает в себя мощный редактор графического интерфейса со встроенной поддержкой нескольких экранов и положений. Вы сможете разрабатывать и отлаживать приложения с помощью встроенного эмулятора Android или с помощью внешних устройств, подключенных через USB или локальную сеть. Basic4Android имеет богатый набор библиотек, которые позволяют с легкостью разрабатывать приложения.
----
официальный сайт www.basic4ppc.com (или www.basic4android.ru)
----
установка

Для установки Basic4Android необходимо скачать и установить дополнительно два компонента, которые распространяются бесплатно:
- Java JDK
- Android SDK

Первый шаг - скачать и установить Java JDK, который необходим для работы Android SDK.
Установка нескольких версия Java на компьютер обычно не вызывает каких-либо проблем.

Откройте ссылку Java 6 JDK download link.
Выберите платформу Windows.
Выберите платформу Windows х86 в списке доступных платформ.
Android SDK не совместим с Java 64-bit JDK. Для 64-х разрядных систем нужно установить обычный JDK.

Нажмите кнопку Continue. Регистрироваться не обязательно.
Если у Вас не отображается красная кнопка Continue, то попробуйте использовать другой браузер.

- На следующей странице необходимо нажать на ссылку.



- Загрузите файл и установите его.
Следующий шаг - установка Android SDK и выбор платформы:
- Скачайте Android SDK.
- Установите SDK.

Android SDK может работать некорректно если путь установки содержит пробелы, например, «C:\Program Files\». Рекомендуется указать путь c:\Android.
- При установке будет показано окно загрузки пакетов. Нажмите Отмена (Cancel), поскольку Вам не нужны все пакеты.
- Выберите в левой части окна "Aviable Packages" и поставьте отметки на "SDK Platform 2.2, API 8" и "Usb Driver Package". Они находятся в хранилище узла "Android repository".

Структура API 9 несколько отличается, поэтому рекомендуется выбрать API 8.


Некоторые другие пакеты можно установить позже.

-Нажмите на кнопку Install Selected и установите оба пакета.

Установка и конфигурирование Basic4android

- Скачайте и установите Basic4Android.
- Откройте Basic4android.
- Выберите в меню Tools - Configure Paths.



- Используя кнопки Browse укажите раположение "javac.exe" и "android.jar"
Обычно это для "javac.exe" - <java folder>\bin.
а для "android.jar" - <android-sdk-windows>\platforms\android-8

В Windows 64 бит, Java будет установлен в папке C:\Program Files (x86).

----
скачать сможете на сайте разработчика

Последний раз редактировалось MoteX, 16.10.2011 в 07:21.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо MoteX за это полезное сообщение:
moka (16.10.2011), Spy4433 (06.10.2012)
Старый 16.10.2011, 06:48   #2
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,505
Написано 2,960 полезных сообщений
(для 5,247 пользователей)
Ответ: Basic4android

На форуме запрещено выкладывать варез.

Сообщение от MoteX Посмотреть сообщение
В поисках согласия с андроид явой и так ничего не добившись я решил опробовать Basic4android
Так результат опробования какой?
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 16.10.2011, 07:14   #3
Romanzes
Разработчик
 
Аватар для Romanzes
 
Регистрация: 05.04.2008
Сообщений: 541
Написано 196 полезных сообщений
(для 637 пользователей)
Ответ: Basic4android

Чего только не придумают, лишь бы джаву не учить.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Romanzes за это полезное сообщение:
Randomize (06.10.2012), YellowAfterlife (16.11.2011)
Старый 16.10.2011, 07:23   #4
MoteX
Нуждающийся
 
Аватар для MoteX
 
Регистрация: 21.10.2009
Сообщений: 51
Написано 6 полезных сообщений
(для 8 пользователей)
Ответ: Basic4android

Сообщение от pax Посмотреть сообщение
На форуме запрещено выкладывать варез.


Так результат опробования какой?
исправил

отлично летает,есть так же поддержка доп библиотек,мне понравилосьразобраться не так сложно
(Offline)
 
Ответить с цитированием
Старый 16.10.2011, 07:24   #5
MoteX
Нуждающийся
 
Аватар для MoteX
 
Регистрация: 21.10.2009
Сообщений: 51
Написано 6 полезных сообщений
(для 8 пользователей)
Ответ: Basic4android

Сообщение от Romanzes Посмотреть сообщение
Чего только не придумают, лишь бы джаву не учить.
у меня нифига не выходит её учить,а помощи сколько не просил толку ноль
(Offline)
 
Ответить с цитированием
Старый 16.10.2011, 08:03   #6
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,505
Написано 2,960 полезных сообщений
(для 5,247 пользователей)
Ответ: Basic4android

Я в данный момент для создания 3d игр под Андроид использую Unity3d. Пока изучаю справку по специфическим функциям типа вибрации, открытия экранной клавиатуры (они используются из классов для iOS - типа iPhoneKeyboard, что кстати обеспечит кросплатформенность, если мы соберемся билдить проект под iOS), а в следующие выходные появится девайс для тестирования.
__________________
Blitz3d to Unity Wiki

Последний раз редактировалось pax, 16.10.2011 в 09:14.
(Offline)
 
Ответить с цитированием
Старый 16.10.2011, 10:53   #7
MoteX
Нуждающийся
 
Аватар для MoteX
 
Регистрация: 21.10.2009
Сообщений: 51
Написано 6 полезных сообщений
(для 8 пользователей)
Ответ: Basic4android

тоже думал о юнити,но весит много ,а у меня скорость не важная,к тому же я специализируюсь на ремейках классических игрпоэтому хватит пока этого,тока не найду поддержку спрайтов никак,или она через open gl ?я использую канву
(Offline)
 
Ответить с цитированием
Старый 06.10.2012, 00:00   #8
tn566
AnyKey`щик
 
Регистрация: 11.11.2009
Сообщений: 3
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Basic4android

Доброе время суток. Меня интересует вот такой вопрос какие функции на bаsic4android для обработки строк подскажите пожалуста.

Последний раз редактировалось tn566, 06.10.2012 в 01:06.
(Offline)
 
Ответить с цитированием
Старый 06.10.2012, 01:57   #9
tn566
AnyKey`щик
 
Регистрация: 11.11.2009
Сообщений: 3
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Basic4android

Сообщение от tn566 Посмотреть сообщение
Доброе время суток. Меня интересует вот такой вопрос какие функции на bаsic4android для обработки строк подскажите пожалуста.
Все ! Разобрался. когда объявляеш переменную string у неё появляются функции

Вот пример:

Dim NashaString As String ' объявляе переменную
Dim Position As Int '

NashaString="Hello World!" 'присваиваем переменной строчку

'нам нужно найти букву "W"

Position=NashaString.LastIndexOf("W") 'Вот функция поиска буквы

Msgbox(Position,"Позиция буквы в строке ") 'Выводим результат на экран

Вот и весь пример
там есть еще функции

CharAt(Position As int)- Возвращает букву с указаной позиции
CompareTo(Other As string) -Возвращает позицию выделеной строки
Contains(SearchFor As string) -Возвращает True если искомая (SearchFor) строка или буква найдена
EndsWith(Suffix As String) -Возвращает True если конец строки содержит строку Suffix
EqualsIgnoreCase(other As String) As Boolean - с этим не разобрался но скорей всего сравнивает две строчки
GetBytes(Charset As String) As Byte() - Декодирует строчку в байт строку Charset-кодировка текста например UTF8

ну и т.д.

Последний раз редактировалось tn566, 07.10.2012 в 00:39.
(Offline)
 
Ответить с цитированием
Старый 06.10.2012, 08:22   #10
Spy4433
ПроЭктировщик
 
Аватар для Spy4433
 
Регистрация: 16.04.2008
Сообщений: 161
Написано 36 полезных сообщений
(для 63 пользователей)
Ответ: Basic4android

глянул ни че так , покрайней мере прыгать с бубном ненадо было как с eclips ,IDE на вид приятная
так же понравилась "система дизайна программы" - визуальная причем можно сразу на эмуляторе редактировать
__________________
форум эт вещь... и почему я раньше им не пользовался?

AMD Phenom(tm) II X6 3.20GHz 8GB GTX 550(1Gb)

Последний раз редактировалось Spy4433, 06.10.2012 в 09:28.
(Offline)
 
Ответить с цитированием
Старый 07.10.2012, 01:01   #11
tn566
AnyKey`щик
 
Регистрация: 11.11.2009
Сообщений: 3
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Basic4android

Сообщение от tn566 Посмотреть сообщение
Доброе время суток. Меня интересует вот такой вопрос какие функции на bаsic4android для обработки строк подскажите пожалуста.
В общем аналога финкциям LEFT и RIGHT я не нашел пришлось состряпать свои вот моя фиункция Right

Sub Left(MyString As String, Value As Int) As String
Dim NewString As String
For i=0 To Value-1
NewString=NewString & MyString.CharAt(i)
Next
Return NewString
End Sub

может кому пригодится
как состряпаю еще RIGHT выложу тут

Вот на этом форуме мне подсказали вот такой вариант очень хорош

Sub Left(Source As String, Length As Int) As String
If Length >= Source.Length Then Return Source Else Return Source.SubString2(0, Length)
End Sub

и

Sub Right(Source As String, Length As Int) As String
If Length >= Source.Length Then Return Source Else Return Source.SubString(Source.Length -Length)
End Sub

Последний раз редактировалось tn566, 08.10.2012 в 20:22.
(Offline)
 
Ответить с цитированием
Старый 16.06.2014, 09:27   #12
pro_grammer
AnyKey`щик
 
Регистрация: 16.06.2014
Сообщений: 2
Написано 2 полезных сообщений
(для 4 пользователей)
Ответ: Basic4android

Basic4Android вырос до версии 3.8
Есть огромная куча разных библиотек и просто готовых кодов, применив которые мы можем создавать свои собственные программы реально вообще не зная java. Не, ну если знаете, то это + к карме и вообще можно такие библиотеки делать для B4A, что программирование игр будет таким же простым и легким как для Винды на Дарке!
История создания одной программы

Статистика вообще и Google в частности говорят, что общее кол-во приложений для платформы Android, официально зарегистрированных в Google Play Store, больше миллиона. А мне чего-то не хватало. И не хватало мне обычного, простого Блокнота. Без наворотов, проще чем в Винде, ну совсем простого, как элемент управления Text в Visual Basic. Чтобы просто вставить-копировать-выделить-удалить. Честно сказать блокнотов много в том же Play Store. Но замученные вечно недовольными пользователями они всегда превращаются в монстров редактирования текста, совмещенные с будильниками, календарями, напоминалками, рекламами и пр. ерундой.
Буду писать свой блокнот, решил я и бросился изучать Basic4Android. Благо, что особо для меня, как и для многих это читающих, переучиваться сильно не пришлось – кто Бейсика не знает?
В любой программе на Андроид есть основная иконка. Она представляет собой файл изображения в формате PNG размером 64х64,72x72, или 128х128, квадратные. Возможно, что и другие размеры подойдут, но в маленькой плохо видно, а в очень большой тоже нет смысла – она будет отмасштабирована до нужных размеров, но увеличит размер программы. Иконки ведь хранятся внутри файла .apk. Кто не в курсе это установочный файл для всех Андроид приложений. Для пытливого компьютерщика это обычный ZIP архив с расширением .apk, который содержит всякие ресурсы и сам скомпилированный код программы. Забегая вперёд скажу, что иконка в нашем проекте будет всегда хранится по адресу :
..\NameProg\Objects\res\drawable\icon.png
Но руками мы её туда копировать не будем (хотя и можно), для этого есть в меню
Project->Choose Icon. Выбранный нами файл переименуется и уляжется в нужное место сам. Где брать файлы иконок? Если у вас нет дара художника, как и у меня, то идем в Интернет, где бесплатно раздают иконки, и выбираем понравившуюся. Я хожу на www.iconfinder.com, там удобный поиск и много бесплатного добра. Я выбрал это


Размером 128х128. Тут же нашёл и остальные для пунктов меню. Нам нужны будут ещё 4 иконки, но уже размером 32х32 – это требование для меню программы.





Соответственно Открыть, Сохранить, Новый, Удалить.
Теперь, когда у нас есть всё необходимое, приступаем к программированию. Запускаем исполняемый файл Basic4android.exe любым удобным вам способом.
И видим, что нам уже сделали всё за нас и код уже есть и с подробными комментариями.
Первым делом меняем в меню Project->Package name. На скромное mysuper.notepad Каждое приложение в Android идентифицируется по уникальному имени пакета. Это строка, состоящая из нескольких слов, разделенными точками.
Срока должна содержать как минимум две части. Вы не сможете установить два разных приложения с одинаковым именем пакета на одно устройство. Вернее ваше устройство подумает, что это обновление и заменит старое на новое приложение. А если цифра #VersionCode нового приложения будет меньше старого, то и вовсе не установится. Даже в эмуляторе не запустится, вылезет ошибка контроля версий.
Теперь можно установить нашу иконку меню Project->Choose Icon и заменить имя и версию под спойлером Project Attributes
#ApplicationLabel: B4A Example -> Меняем на MyNotepad
#VersionCode: 1 -> это пока лучше не менять
#VersionName: -> тут можно поставить версию 0.01

#ApplicationLabel – это имя будет названием нашей программы в списке программ, под иконкой программы, когда мы её установим в устройство (или эмулятор)
Мы должны сохранить наш проект в надежное место. Для этого выберите меню File - Save. Рекомендуется сохранять каждую отдельную программу в свою собственную папку.
Создайте новую папку: " MyNotepad ", откройте ее и сохраните программу как "MyNotepad“. В папке будут созданы ещё 2 основные папки Files, Objects с подпапками и файл MyNotepad.b4a

С настойками закончили, переходим к проектированию программы.
Выберите меню Tools - Run AVD Manager. Из открывшегося окна выберите эмулятор, который вы настроили как я учил в предыдущих сообщениях, и нажмите Start, затем Launch. Подождите несколько секунд или минут, пока эмулятор полностью не загрузится. Если у вас есть другой эмулятор, к примеру тот, о котором я говорил выше -Genymotion, то просто запустите его и всё.



Если необходимо, то настройте на вашем эмуляторе нужный язык обычным для Андроида способом. Можете поиграть с ним, нажимать на кнопочки, запустить встроенные программы, например Интернет браузер и найти этот сайт
Перезапускать эмулятор каждый раз перед загрузкой программы не нужно. Эмулятор может быть запущен все время, пока вы создаете и тестируете свою программу.

Приступаем к проектированию дизайна нашей программы. Запускаем дизайнер из главного меню-> Designer


Тут сразу меняем Title Activity-> Мой Блокнот
Эта надпись будет видна в работающем приложении.
Далее, Абстрактный дизайнер можно заменить на реальный эмулятор, щёлкнув по значку с надписью Status:
Мы менять не будем. У нас программа простая, элементов управления не много, а точнее один. Его и добавим. В меню AddView выбираем EditText, устанавливаем его мышкой в Абстрактном дизайнере сверху, растягиваем на всё устройство. Настраиваем свойства. Процесс не отличается от аналогичного в VB6. Для multiline надо установить свойство Single line в False. Измените Text Style пункт Vertical Alignment -> TOP
Добавляем все наши изображения иконок для меню при помощи Add Images. Можно выбрать сразу все, мультивыбор поддерживается.
Получилось что-то такое



Закрепляем результат – сохраняем в файл с именем Layout1. Если с другим, то запомните – потом пригодится. Этот файл будет в папке File с именем Layout1.bal
Идем в редактор кода и раскоментируем эту строчку
'Activity.LoadLayout("Layout1")
Если сохранили с другим именем, то вставляйте своё.
Sub Activity_Create(FirstTime As Boolean)
    'Do not forget to load the layout file created with the visual designer. For example:
    Activity.LoadLayout("Layout1")
 
End Sub
Проверяем режим компиляции – Debug( rapid) или (legacy),нам пока не важно, сохраняемся ещё раз запускаем нашу программу нажатием на зелёный треугольник.
Процесс компиляции длится несколько секунд, заметно дольше, чем в VB6. В левом нижнем углу появляется панель управления зелёного цвета, как в проигрывателе, а мы ищем наш эмулятор на панели задач, выводим его на передний план.



Несмотря на то, что мы пока ещё не написали ни одной строчки кода, мы уже имеем работоспособное приложение для Андроид, которое умеет редактировать текст, выделять, вставлять из буфера и записывать в буфер обмена. Если скомпилировать в режиме Release, то в папке Objects появится файл MyNotepad.apk - его уже можно установить на любое устройство Андроид и использовать.
Ну пока всё. В продолжении ждите:
-Работа с файлами, создание и удаление
-Создание меню программы с иконками

В архиве проект с готовой программой из этого сообщения.
Вложения
Тип файла: zip MyNotepad.zip (414.2 Кб, 149 просмотров)
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо pro_grammer за это полезное сообщение:
CX_14_fd (16.06.2014), LLI.T.A.L.K.E.R. (17.06.2014)
Старый 16.06.2014, 11:33   #13
CX_14_fd
это Tarmaz
 
Регистрация: 14.06.2014
Сообщений: 4
Написано одно полезное сообщение
Ответ: Basic4android

Очень полезная информация спасибо.
(Offline)
 
Ответить с цитированием
Старый 17.06.2014, 06:20   #14
pro_grammer
AnyKey`щик
 
Регистрация: 16.06.2014
Сообщений: 2
Написано 2 полезных сообщений
(для 4 пользователей)
Ответ: Basic4android

Создаем простую программу для рисования для Android – PaintDroid



Приступаем к очередному занятию. Для него нам понадобятся следующие инструменты и файлы

1. Файл иконки проекта. Напомню, что найти его можно бесплатно на www.iconfinder.com
2. Среда программирования Basic4Android, желательно версии не древнее 3.**
3. Библиотеки Core (есть по умолчанию) и Dialogs


Запускаем исполняемый файл Basic4android.exe любым удобным вам способом. Меняем в меню Project->Package name на Paint.Droid. Напомню, что каждое приложение в Android идентифицируется по уникальному имени пакета. Это строка, состоящая из нескольких слов, разделенными точками.
Срока должна содержать как минимум две части. Вы не сможете установить два разных приложения с одинаковым именем пакета на одно устройство. Вернее ваше устройство подумает, что это обновление и заменит старое на новое приложение.
Устанавливаем нашу иконку меню Project->Choose Icon и заменить имя и версию под спойлером Project Attributes
#ApplicationLabel: B4A Example -> Меняем на PaintDroid
	#VersionCode: 1 -> это пока лучше не менять
	#VersionName: -> тут можно поставить версию 0.01
#ApplicationLabel – это имя будет названием нашей программы в списке программ, под иконкой программы, когда мы её установим в устройство (или эмулятор)
Мы должны сохранить наш проект в надежное место. Для этого выберите меню File - Save. Рекомендуется сохранять каждую отдельную программу в свою собственную папку.
Создайте новую папку: " PaintDroid ", откройте ее и сохраните программу как "PaintDroid“. В папке будут созданы ещё 2 основные папки Files, Objects с подпапками и файл PaintDroid.b4a
Запускаем свой эмулятор или подключаем своё реальное устройство при помощи B4A-Bridge или просто из меню Tools - Run AVD Manager.




Приступаем к проектированию дизайна нашей программы. Запускаем дизайнер из главного меню-> Designer

Тут сразу меняем Title Activity-> PaintDroid Эта надпись будет видна в работающем приложении.

В нашем приложении будет 1 элемент – Panel, добавим её из меню AddView->Panel и растянем на весь экран. Тут мы и будем рисовать. Рисовать удобно в планшетном варианте, для этого добавим New Variant -> 480х320, т.е планшетный вариант, в этом варианте измените положение панели в соответствии с экраном.
Закрепляем результат – сохраняем в файл с именем Layout1. Если с другим, то запомните – потом пригодится. Этот файл будет в папке File с именем Layout1.bal
Идем в редактор кода и раскоментируем эту строчку
'Activity.LoadLayout("Layout1")
Если сохранили с другим именем, то вставляйте своё.
Sub Activity_Create(FirstTime As Boolean)
	'Do not forget to load the layout file created with the visual designer. For example:
	Activity.LoadLayout("Layout1")

End Sub
В этом проекте у нас появляется новый элемент – модуль. Как и в случае с VB6, модули добавляются к проекту через меню. В данном случае это Project -> Add New Module-> Code Module. Один и тот же модуль можно использовать в различных своих проектах многократно, просто подключив его. Это обычный текстовый файл, имеющий расширение .bas
Создайте новый модуль с именем «SignatureCapture»
'Code module
Sub Process_Globals
	Dim px, py As Int
	Type SignatureData (Canvas As Canvas, Panel As Panel, SignatureColor As Int, SignatureWidth As Int)
	Dim color As Int
	End Sub

Sub Panel_Touch(SD As SignatureData, x As Int,y As Int, Action As Int)
    SD.SignatureColor = color
	If Action = 0 Then 'mouse down constant
		px = x
		py = y
	Else
		SD.Canvas.DrawLine(px, py, x, y, SD.SignatureColor, SD.SignatureWidth)
		SD.Panel.Invalidate
		px = x
		py = y
	End If
End Sub
Sub Clear(SD As SignatureData)
	SD.Canvas.DrawColor(Colors.White)
	SD.Panel.Invalidate
End Sub
Sub Save(SD As SignatureData, Dir As String, Name As String)
	Dim out As OutputStream
	out = File.OpenOutput(Dir, Name, False)
	SD.Canvas.Bitmap.WriteToStream(out, 100, "PNG")
	out.Close
End Sub

Sub SetColor
    Dim cd As ColorPickerDialog
	
	cd.RGB = Colors.Black
	ret = cd.Show("Цвет линии", "Применить", "", "Отмена", Null)	
	
	color = cd.RGB
End Sub
Этот модуль обеспечивает рисование при наступлении события Panel_Touch.
Проще говоря, когда вы будете пальцем водить по экрану, то он будет рисовать.

Переходим на основной код. Объявляем переменные и настраиваем форму диалога для загрузки и сохранения файлов. Я выбрал png файлы, но можно работать и с jpg!
Sub Globals
	'These global variables will be redeclared each time the activity is created.
	'These variables can only be accessed from this module.
      Dim Panel1 As Panel
	Dim Canvas1 As Canvas
	Dim SD As SignatureData 'This object holds the data required for SignatureCapture
	' For Paint
	Dim fdp As FileDialog
	fdp.FastScroll = True
	fdp.KeyboardPopUp = True
	fdp.FilePath = File.DirRootExternal ' also sets ChosenName to an emtpy string
	fdp.FileFilter = ".png" ' for example or ".jpg,.png" for multiple file types
    Dim ret As Int
End Sub
Что у нас есть? С панелью всё понятно. Далее Canvas1 – это как раз тот контекст, на котором мы и будем рисовать, а SD это объект, в котором будут хранится данные для рисования.
Код при запуске приложения
Sub Activity_Create(FirstTime As Boolean)
	'Do not forget to load the layout file created with the visual designer. For example:
	Activity.LoadLayout("Layout1")
	If File.ExternalWritable = False Then
        Msgbox("Нет доступа к записи на карту памяти.", "PaintDroid")'"Cannot write on storage card."
		Activity.Finish
        Return
    End If
	Panel1.SetLayout(0%x, 0%y, 100%x, 100%y)' Растягиваем панель на весь экран
    Canvas1.Initialize(Panel1)
	SD.Initialize
	SD.Canvas = Canvas1
	SD.Panel = Panel1
	SD.SignatureColor = Colors.Black ' Начальный цвет черный
	SD.SignatureWidth = 3dip 'Толщина линии
	
	' Menu 
    Activity.AddMenuItem("Цвет","mnuColor") ' Adds menu 
    Activity.AddMenuItem("Новый","mnuNew") ' Adds menu 
    Activity.AddMenuItem("Загрузить файл","mnuOpen") ' Adds menu 
    Activity.AddMenuItem("Сохранить файл","mnuSave") ' Adds menu 
	
End Sub
Проверяем, есть ли у устройства возможность записывать изображения:
If File.ExternalWritable = False
Далее, вне зависимости от размеров экрана ( если помните, то у нас 480х320, для современных устройств это крайне мало!) растягиваем панель на весь экран:
Panel1.SetLayout(0%x, 0%y, 100%x, 100%y)

Устанавливаем начальный цвет линии, которой будем рисовать и её толщину.
 SD.SignatureColor = Colors.Black ' Начальный цвет черный
	SD.SignatureWidth = 3dip 'Толщина линии
Добавляем 4 пункта меню. Как делать меню с иконками было в прошлый раз, теперь без иконок ( но вы можете импровизировать!)
Процедура, которая обрабатывает нажатие на экан
Sub Panel1_Touch (Action As Int, X As Float, Y As Float)
	SignatureCapture.Panel_Touch(SD, X, Y, Action)
End Sub
Заметьте, как вызывается функция из модуля – вначале пишем имя модуля и через точку имя вызываемой функции или процедуры.
Загрузка изображения из памяти устройства. Используем файловый диалог
Sub ReadPaintExample
    Dim Bild As Bitmap 
	Dim DisRect As Rect
	
	ret = fdp.Show("Загрузить png", "", "Нет", "Да", Null)	
	If ret = -2 Then
	 Bild.Initialize(File.DirRootExternal,fdp.ChosenName )
	 DisRect.Initialize(0,0,Bild.Width,Bild.Height)
	 SD.Canvas.DrawBitmap( Bild, Null, DisRect)
	 Activity.Invalidate ' обновляем изображение на экране
	 	Else
	'ToastMessageShow("Загрузка отменена!", True)	' на некоторых устройствах с сообщением бывают проблеммы!
	End If
	
	
End Sub
При нажатии на пункт меню “Загрузить файл” вызываем эту процедуру:
Sub mnuOpen_Click
ReadPaintExample
End Sub
Сохраняем созданный файл, используем тот же диалог выбора файла:

Sub mnuSave_Click
    ret = fdp.Show("Сохранить как", "", "Нет", "Да", Null)	
	If ret = -2 Then
	SignatureCapture.Save(SD, File.DirRootExternal, fdp.ChosenName) 
	ToastMessageShow("Сохранено в : " & File.Combine(File.DirRootExternal, fdp.ChosenName), True)
		Else
	ToastMessageShow("Сохранение отменено!", True)	' на некоторых устройствах с сообщением бывают проблеммы!

	End If

End Sub
Очистка изображения и смена цвета линии. Эти процедуры описаны в модуле, из меню мы их только вызываем:
Sub mnuNew_Click
  SignatureCapture.Clear(SD)
End Sub

Sub mnuColor_Click
  SignatureCapture.SetColor
End Sub
Для смены цвета линии для рисования мы применяем ColorPickerDialog ( см. код модуля)


Что в итоге получилось:


Как можно развивать приложение?
Рисовалка у нас есть, а вот стиралки нет. Стирать можно так же как и рисовать, выбирая цвет фона. Чтобы не менять каждый раз Цвет кисти-> Цвет фона лучше вывести эту функцию отдельно.
Раз уже заговорили о цвете фона, то его тоже можно менять-выбирать в начале рисования.

Рисование примитивов – овал, квадрат, линия. К примеру, круг:
SD.Canvas.DrawCircle(150dip,150dip,20dip,Colors.Re d,False,10dip)

Смотрите свойства SD.Canvas. – после точки выплывает подсказка со всеми возможностями.
Меню может существенно увеличится, и потому управление процессом лучше организовать кнопками, которые расположить по нижнему краю панели.
Т.о. можно создать приложение отличной функциональности за короткий срок и очень компактное по размеру. Готовый apk всего около 135 КБ.
В приложении все материалы + готовый отдельный apk
Миниатюры
Нажмите на изображение для увеличения
Название: colorpic.jpg
Просмотров: 346
Размер:	31.4 Кб
ID:	20620  Нажмите на изображение для увеличения
Название: PaintDroid.jpg
Просмотров: 362
Размер:	118.4 Кб
ID:	20621  
Вложения
Тип файла: zip PaintDroid.zip (421.7 Кб, 174 просмотров)
Тип файла: zip PaintDroidAPK.zip (131.4 Кб, 150 просмотров)
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо pro_grammer за это полезное сообщение:
CX_14_fd (17.06.2014), LLI.T.A.L.K.E.R. (17.06.2014)
Старый 17.06.2014, 13:39   #15
CX_14_fd
это Tarmaz
 
Регистрация: 14.06.2014
Сообщений: 4
Написано одно полезное сообщение
Ответ: Basic4android

Очень полезная информация спасибо ещё раз.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


Часовой пояс GMT +1, время: 08:28.


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