Я немного разобрался в гаджетах, в создании окна, во всём таком простеньком. Но незнаю ничего про графику. Не в одном из ваших видеоуроках про это не сказано. Ну понятно что чтобы в окне появилось изображение нужно использовать imagegadget. Ну а если надо чтоб это изображение куданибудь передвинулось, ну типо анимация? Или например 3D изображения? Я понимаю что в одном сообщение обо всём не расскажеш. Я прошу подкинеть ссылочку на приличный учебник чтоб его скачать (бесплатно). Я искал, но так и нечего ненашёл. Зарание спасибо.
Помогите с учебником по графике в PureBasic.
Сообщений 1 страница 11 из 11
Поделиться228.03.2011 17:09:31
Если научился запускать исходники то лучший учебник это изучать примеры.
Вот тут много различного кода с графикой
http://pbasic.spb.ru/phpBB2/viewforum.p … ae154de5f3
А так же скачай себе кодархив - там код на все случаи жизни, и графических примеров очень много:
http://purearea.net/pb/CodeArchiv/CodeArchiv.html
Поделиться328.03.2011 17:13:57
Тут есть немного инфы Перевод книги "PureBasic - A Beginners Guide"
А вот пример из справки:
If InitSprite() = 0 MessageRequester("Error", "Can't open screen & sprite enviroment!", 0) End EndIf If OpenWindow(0, 0, 0, 220, 160, "A screen in a window...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) ButtonGadget(0, 170, 135, 45, 20, "Quit") If OpenWindowedScreen(WindowID(0), 0, 0, 160, 160, 0, 0, 0) CreateSprite(0, 20, 20) If StartDrawing(SpriteOutput(0)) Box(0, 0, 20, 20, RGB(255, 0, 155)) Box(5, 5, 10, 10, RGB(155, 0, 255)) StopDrawing() EndIf Else MessageRequester("Error", "Can't open windowed screen!", 0) End EndIf EndIf direction = 2 Repeat ; It's very important to process all the events remaining in the queue at each frame ; Repeat Event = WindowEvent() Select Event Case #PB_Event_Gadget If EventGadget() = 0 End EndIf Case #PB_Event_CloseWindow End EndSelect Until Event = 0 FlipBuffers() ClearScreen(RGB(0, 0, 0)) DisplaySprite(0, x, x) x + direction If x > 140 : direction = -2 : EndIf If x < 0 : direction = 2 : EndIf Delay(1) ForEver
Поделиться428.03.2011 20:43:46
Мм, спамибо, ща скачаю!
Поделиться528.03.2011 22:14:12
http://purearea.net/pb/CodeArchiv/CodeArchiv.html
Я так понимаю эти две папки для скачаки (сжатая папка и zip) одна и таже папка.
А тут некоторые программы у меня не идут, ошибка вылетает. Скорее всего дело в библеотеках. Какие библеотеки нужны чтоб шли все эти программы?
Поделиться628.03.2011 22:40:03
Я так понимаю эти две папки для скачаки (сжатая папка и zip) одна и таже папка.
А тут некоторые программы у меня не идут, ошибка вылетает. Скорее всего дело в библеотеках. Какие библеотеки нужны чтоб шли все эти программы?
Да, там rar и zip архивы одинаковые. Если в коде нужна библиотека, то обычно это указано в его заголовке. Но для кодархива это редко бывает. Две главные библиотеки это DROOPY и PBOSL наиди тут http://pure-basic.narod.ru/libs.html , ну и другие тоже могут пригодиться.
Но скорее всего некоторые программы не работают из за разного синтаксиса - код для версии 4.*, а у тебя наверно 4.51. Различия не большие, но иногда не идет!
Поделиться728.03.2011 22:52:33
код для версии 4.*, а у тебя наверно 4.51.
У меня есть две версии PB, 4.51 и 4.30, некоторые идут на обоих, некоторые идут только на 4.30, а некоторые не идут нигде.
Поделиться828.03.2011 22:56:17
Примеры создавались для версии 4.00
Поделиться929.03.2011 01:15:56
Я поставил себе PureBasic 4.00 и почти всё заработало! Но есть одно <но>, некоторые вещи (не эти программы, а вообще) не идут на 4.00. Подскажите в 2 словах, как переписать коды программ с 4.00 на 4.51? А может гненть уже есть версии этих программ на PB 4.51?
Отредактировано Appolon (29.03.2011 01:16:52)
Поделиться1029.03.2011 07:06:04
Подскажите в 2 словах, как переписать коды программ с 4.00 на 4.51? А может гненть уже есть версии этих программ на PB 4.51?
Appolon, мы тут с Петром не Боги, и телепатией не владеем Какие программы тебя конкретно интересуют? Переделовать всё подрят смысла нет!
Переписать можно почти любой код на более новую версию. Иногда возникают проблемы с библиотеками, если автор прекратил их поддержку для более новых версий Пурика. Собствено это единственная причина по которой лично у меня на компе установлены все ключевые версии Пурика. ЕхЕ шник скомпилированный в версии 4.0 не хуже ЕХЕшника, скомпилированного в версии 4.5!
Как переписать код со старой версии в новую:
На ошибочной процедуре ставишь курсор, нажимаешь F1 и смотришь, какой синтаксис и чья это процедура.
Если ошибка в функциях Пурика, и F1 не сработал то запускаешь справку руками, поиск и по поиску в разделе История определяешь, что изменилось и как это исправить.
Если ошибка в функциях библиотеки, а старая библиотека отказывается работать в новой версии Пурика, то надо проверить - нет ли подобной функции в WinAPI? И написать подобное самому. Или переписать библиотеку, если есть исходники для неё.
Если ошибка в вызове WinApi( это процедуры, где последний знак подчеркивание "_"), то обычно 2 проблемы :
- Если вместо строки требуется число, то перед строкой надо поставить @, т.е. было (stroka$) надо (@stroka$)
- Если в POINT лишние аргументы, то вместо двух (x,y) надо написать один аргумент (x|y<<32)
Вот так в 2-х словах.
Поделиться1129.03.2011 13:28:28
Спасибо, применю советы при устранение ошибок!