Просмотр полной версии : Посмотрите (движение спрайта на purebasic)
Вот,прислушался к совету newart и начал заниматься purebasic,по сравнению с visual basic,есть свои плюсы.
Пробывал сделать движение renegade,получается отлично,мерцаний нет,движения плавные.
Теперь попробывал сделать перемещение спрайта диззи.
Посмотрите,если он так будет двигаться ,это нормально ?
Напишите замечания.
Управление стрелками,выход щелчёк мыши по экрану.
влево он не прыгает.
_______________
Игру я не делаю,просто пробую разные способы движения спрайтов.
Что пишет ?
Должно открыться окно во весь экран 320х240
Пробывал только что на другом компьютере,(кроме офиса там ничего не стоит)-работает
У кого нибудь запустилась ?
null_device
13.01.2012, 13:03
Не запустилось..
Не. Валится при запуске. Как просто (win7), так и в режиме совместимости с winxp.
Более того, на виртуалке с чистым windows xp тоже валится. Разбирайся - чего у тебя там не так.
У кого нибудь запустилась ?
У меня запустилось (XP). Но больше в этом дерьме не делай. Если хочешь на РС, то есть Dizzy-AGE. Если на Спектруме, то делай на нём.
Но больше в этом дерьме не делай. Если хочешь на РС, то есть Dizzy-AGE.
+100500
Кстати, раздел форума явно не тот для таких вопросов.
Посмотрите,если он так будет двигаться ,это нормально ?
Движения спрайтов правильные, но он не ходит, а скользит по поверхности. Т.е. движения не соответствуют ходу персонажа.
прислушался к совету newart и начал заниматься purebasic
кому он его только непредлагал.
Движения спрайтов правильные, но он не ходит, а скользит по поверхности. Т.е. движения не соответствуют ходу персонажа.
У меня тоже запустилось на XP. Да, похоже, анимация быстрее, чем перемещение.
у меня не запустилось
мое запускается
басик под рукой
а это экзешник не запускается
---------- Post added at 14:13 ---------- Previous post was at 14:10 ----------
ваще ничо не пишет
запускается и выключается
сделай в окне чтобы работало
но он не ходит, а скользит по поверхности.
Блин, если делать чтобы не скользил получается надо через пиксили перепрыгивать,рывки получаются.короче диззи меня измучил.
Тогда надо его перерисовывать.
Почему purebasic дерьмо ? просто конечно надоедает что newart везде его советует. Если бы я не написал что программа на pure basic Вы бы догадались?
jerri пока некогда для окна переделывать.потом.
Странно конечно почему не у всех работает,спрошу на другом форуме.
Спасибо всем.
---------- Post added at 14:31 ---------- Previous post was at 14:30 ----------
Буду всё сначала начинать
женя999, прислушайся, что скажу. Мне как-то всё-равно на чём ты игру делать будеть, на пуребейсике, на си или ещё на чём. Главное куда.
1 - Ещё раз говорю, если задумал написать игру для РС, то есть прекрасный редактор в стиле Спектрума (хотя можно в любом стиле сделать, графику меняй и всё) - это Dizzy-AGE (http://yolkfolk.com/dizzyage/download.html). Там уже куча графики и спрайты Диззи уже есть. Вообще-то, там спрайты почти всех героев есть. Titus даже начал немного переводить мануал по этому редактору - http://dizzyage.narod.ru/
2 - Если не устроил пункт 1, но ты всё-равно решил сделать игру для РС, то тогда для ознакомления советую посмотреть на эти игры: Dizzy-1 TUCA (remake) (http://zx.pk.ru/showpost.php?p=193684&postcount=7) со скроллиногом, или Spud's Quest (http://zx.pk.ru/showthread.php?t=15037) без скроллинга. Если чувствуешь, что такое не осилишь, тогда первый пункт в помощь.
3 - Если уж задумал сделать Диззи для Спектрума, выдирай движок из 3-6 игр и твори. Но чувствую не для Спектрума ты игру собрался делать.
P.S. И никогда не делай игру со спектрумовской графикой на весь экран. Это квадратный ужас. Есть же экран 640х480
Спасибо за совет и за ссылки.
На спектруме я не потяну.
Самое интересное для меня в игре ,это её создание.
ещё раз всем спасибо.
Почему purebasic дерьмо ?
Ну а чего ты еще ожидал услышать от работяги-выпивохи?
просто конечно надоедает что newart везде его советует
Исключительно из благих побуждений. Для меня это инструмент номер 1.
Странно конечно почему не у всех работает
Ничего странного. Ведь 320х240 поддерживают не все мониторы. А ты даже не проверяешь держит монитор это разрешение или нет.
Что касается скорости движения то всё просто.
Титус писал:
Спектрумовский Dizzy в частях 1, 2, 3, 3.5, 4, 5 и 6 движется горизонтальном направлении с дискретностью 4 пиксела. Обновление идет раз в 3 кадра для частей 2-6, и не привязанно к кадрам в 1-й части.
Частота кадров на спектруме 50 герц, разделить на 3 получаем 15.
Так вот ставь командой SetFrameRate(16) и двигай дизика на 4 пикселя за раз = будет 1 в 1 как на спектруме.
---------- Post added at 15:06 ---------- Previous post was at 15:04 ----------
Ну и выложи исходник, тогда по строкам скажу где какая ошибка.
На спектруме я не потяну.
Ну тогда пользуйся человеческим современным инструментарием. Раз уж бейсик хочешь, то Visual Basic 2010 Express (http://www.microsoft.com/visualstudio/ru-ru/products/2010-editions/visual-basic-express/) тебе в помощь.
А еще лучше, сразу разбирайся с XNA GameStudio.
Ну а чего ты еще ожидал услышать от работяги-выпивохи?
Ооо, слышу слова прямо-таки Илиты, которая никак на баннер сверху крестик поставить не может, чтобы желающие могли его убрать. :)
Я просто предложил уже готовый движок со множеством спрайтов, но чтобы сделать игру там всё-равно думать надо. И в довесок кинул пару ссылок на игры, которые я считаю отлично сделанными. Но женя999 похоже решил сделать всё сам. Согласен, это гораздо интереснее, но чую выйдет что-то типа этого (http://www.yolkfolk.com/site/games.php?game_id=65), только на большом экране (F4).
то Visual Basic 2010 Express тебе в помощь.
Из пушки по воробьям...
---------- Post added at 15:31 ---------- Previous post was at 15:30 ----------
Я просто предложил уже готовый движок со множеством спрайтов, но чтобы сделать игру там всё-равно думать надо.
Может Жене интересно игру запрограмить а не нарисовать в редакторе?
---------- Post added at 15:32 ---------- Previous post was at 15:31 ----------
Ооо, слышу слова прямо-таки Илиты
Ты слишком смел в суждениях для человека не написавшего и одной программы, и никогда не видевшего PB.
Ты слишком смел в суждениях для человека не написавшего и одной программы, и никогда не видевшего PB.
Открою страшную тайну - он мне не нужен. А если ты не понял, то я предложил не изобретать велосипед, а уже воспользоваться тем, что есть, раз уж игра не для Спектрума. На этом всё, творите что хотите.
На этом всё, творите что хотите.
Dizzy Age был бы прекрасен... будь он портирован на JS... тогда бы в игры играло пол Вконтакта...
---------- Post added at 15:49 ---------- Previous post was at 15:48 ----------
женя999, вот оконная версия:
UsePNGImageDecoder()
InitSprite()
InitKeyboard()
OpenWindow(0, 0,0, 388, 462, "Pure Dizzy", #PB_Window_SystemMenu |#PB_Window_ScreenCentered )
OpenWindowedScreen(WindowID(0), 0,0, 388, 462, 0, 0, 0)
LoadSprite(0, "dizzy1.PNG")
LoadSprite(1, "dizzy pic.PNG")
TransparentSpriteColor(0, #Red)
SetFrameRate(16)
Repeat
Repeat
Event = WindowEvent()
If Event = #PB_Event_CloseWindow: End: EndIf
Until Event = 0
ExamineKeyboard()
FlipBuffers()
ClearScreen(#Black)
DisplaySprite(1, 0, 0)
ClipSprite(0, 0+dizzy_frame*25,66,24,32)
DisplayTransparentSprite(0, 220, 328)
Delay(1)
anim + 1
If anim = 2
dizzy_frame ! 1
anim = 0
EndIf
ForEver
У тебя неправильная картинка с Dizzy - не хватает маски (контура вокруг спрайта).
Я ее подработал чуток, дальше ты сам.
Dizzy Age был бы прекрасен... будь он портирован на JS... тогда бы в игры играло пол Вконтакта...
Не я его делал. А в контакте онлайн в Диззи играть никто не будет. Эти игры не для этого сделаны. Хотя маленькие может и подошли бы...
Ну и выложи исходник, тогда по строкам скажу где какая ошибка.
Там много лишних переменных,не обращай внимание,
И Procedure dizzyupright() тоже так,временно.
вот оконная версия:
Да ,смотрится хорошо, я renegade в оконном делал на pb, но потом подумал что в развёрнутом виде будет лучше и спрайты увеличиваются сами. Графика нравится пиксельная, а самому увеличивать не охота, да и весить они будут больше.
Там много лишних переменных,не обращай внимание,
И Procedure dizzyupright() тоже так,временно.
Жесть. :)
Рекомендую сразу и навсегда забыть про операторы Goto и Gosub.
---------- Post added at 16:07 ---------- Previous post was at 16:05 ----------
Графика нравится пиксельная, а самому увеличивать не охота, да и весить они будут больше.
Не будут. Увеличение делается 1-й командой - ResizeImage ...
Кстати у окна есть автоматический ресайз, но его беда в том что он ресайзит со сглаживанием. :(
у меня при компиляции пишет
openscreen or openwindowedscreen must be called before using sprite command
---------- Post added at 16:16 ---------- Previous post was at 16:12 ----------
newart, а чем плох gosub и что вместо него?
newart, а чем плох gosub и что вместо него?
Вместо него процедуры.
Gosub и Goto ухудшает читаемость и отладку программы, те кто их используют обычно являются неопытными программистами, умудряются делать gosub без return, goto в тело процедур, переназначают важные переменные и делаю прочие несуразицы ведущие к непредсказуемым багам.
ну как бы всегда считал gosub:return удобным способом резать программу на части
а goto да, не более 1 на программу
ну как бы всегда считал gosub:return
В больших программах Gosub = бардак.
А процедуры напротив дисциплинируют, ведь каждой из них ты расшариваешь только те переменные, что ей положено юзать.
---------- Post added at 16:46 ---------- Previous post was at 16:45 ----------
женя999, если буду вопросы по PB стучи в аську: 323595507
newart, а мою программку переделаешь под то как оно должно правильно выглядеть?
newart, а мою программку переделаешь под то как оно должно правильно выглядеть?
Я тут в Самаре человека с дискетами нашел. Перегонишь? :)
Их немного и потому слать в питер, а потом обратно как то накладно...
По просьбе newart, вот на XNA/VB (хотя я, лично, предпочитаю С#):
Module Program
Private Class MyGame
Inherits Game
Private graphics As GraphicsDeviceManager
Private batch As SpriteBatch
Private background As Texture2D
Private sprite As Texture2D
Private frame As Integer
Public Sub New()
graphics = New GraphicsDeviceManager(Me)
graphics.PreferredBackBufferWidth = 388
graphics.PreferredBackBufferHeight = 462
TargetElapsedTime = TimeSpan.FromMilliseconds(1000 / 16)
End Sub
Protected Overrides Sub LoadContent()
batch = New SpriteBatch(GraphicsDevice)
background = Texture2D.FromStream(GraphicsDevice, File.OpenRead("dizzy pic.png"))
sprite = Texture2D.FromStream(GraphicsDevice, File.OpenRead("dizzy1.png"))
End Sub
Protected Overrides Sub Update(gameTime As GameTime)
Dim state = Keyboard.GetState()
frame = frame Xor 1
MyBase.Update(gameTime)
End Sub
Protected Overrides Sub Draw(gameTime As GameTime)
GraphicsDevice.Clear(Color.Black)
batch.Begin()
batch.Draw(background, Vector2.Zero, Color.White)
batch.Draw(sprite, New Vector2(220, 238), New Rectangle(frame * 23, 74, 23, 20), Color.White)
batch.End()
MyBase.Draw(gameTime)
End Sub
End Class
Sub Main(ByVal args As String())
Using game As New MyGame()
game.Run()
End Using
End Sub
End Module
Но в смысле поддержки, расширяемости, удобства IDE, количества библиотек и размера комьюнити заруливает по полной. Никакие пуребасики и рядом не валялись.
Но в смысле поддержки, расширяемости, удобства IDE, количества библиотек и размера комьюнити заруливает по полной.
Домыслы.
zx_demon
14.01.2012, 16:50
кому он его только непредлагал.
Эт точно! http://vrcp.ru/smiles/light/ap.gif
---------- Post added at 16:44 ---------- Previous post was at 16:39 ----------
Ооо, слышу слова прямо-таки Илиты, которая никак на баннер сверху крестик поставить не может, чтобы желающие могли его убрать.
Согласен, баннер нервирует.
---------- Post added at 16:50 ---------- Previous post was at 16:44 ----------
newart ты бы хоть учебник нормальный по PureBasic подкинул, а то я так нормальный и не нашёл.
newart ты бы хоть учебник нормальный по PureBasic подкинул, а то я так нормальный и не нашёл.
Да ,сам замучился,там конечно есть офигенная справка,но без помощи людей,я бы не сдвинулся. например
Color = Point(x, y)
вроде должно работать,но откуда я знал что надо так писать-
StartDrawing
Color = Point(x, y)
StopDrawing()
женя999, там же в примерах описано
Вот теперь диззи идёт вправо не скользя,через один пиксель,перерисовывал спрайты.
разрешение 640х480
разрешение 640х480
Не увидел такого, просто растянут экран на весь монитор. И очень часто идя справа-налево происходит такое.
http://img196.imageshack_.us/img196/388/47890476.png
Хотя вот нажав на принт скрин экран отобразился 640х480, а на мониторе был растянут на полную.
Я имею ввиду монитор переключается в режим 640х480 (просто у кого-то 320х240 не работала),а картика (игровое поле ) на верху растянуто в длинну. Но это не важно. Мне главное посмотрите движение вправо ,я спрайты изменил ,их теперь больше и диззи движется через 1 пиксель.
Скорость передвижения вправо как ?
вправо както не очень движется
Я имею ввиду монитор переключается в режим 640х480
Нет, не переключается.
http://img402.imageshack_.us/img402/7347/img2641gd.jpg
Скорость передвижения вправо как ?
До прыжка нормально, подпрыгнешь и опять скользить будешь.
Rindex, всё правильно так и должно показывать, игра не на весь экран,а в верху,просто разрешение поменялось 640х480. Я картинку просто вставил, для ориентира.
Вправо он идёт всегда одинаково,что до прыжка ,что после.
Вправо он идёт всегда одинаково,что до прыжка ,что после.
Нет, вправо после прыжка быстрее идёт. Влево одинаково, правда частенько в белое пятно превращается.
---------- Post added at 13:14 ---------- Previous post was at 13:12 ----------
Rindex, всё правильно так и должно показывать, игра не на весь экран,а в верху,просто разрешение поменялось 640х480.
Это не 640х480. Загрузи любую Dizzy-AGE игру и увидешь, как должно быть.
Загрузи любую Dizzy-AGE игру и увидешь, как должно быть.
Я смотрю на спектрумскую. У меня уже глюки от всматривания,поэтому и прошу совета.
Может прыжёк медленный и после него кажется что диззи пошёл быстрее,я засекал секундомером,идёт одинаково.
белое пятно это потому что вправо спрайтов больше,а когда поворачиваем влево считываются № спрайтов правых и подставляются к левым,а левых то меньше и пока не обнулится... короче не доделал.
Шестая цифра на экране это номер спрайта.
женя999, мне идеальным кажется прыжок и движения в Dizzy-AGE. Вот там действительно отлично всё подобрано. Ориентируйся на них.
Да,там всё идеально.
согласен.спасибо.
newart ты бы хоть учебник нормальный по PureBasic подкинул, а то я так нормальный и не нашёл.
http://purebasic.ru
---------- Post added at 13:54 ---------- Previous post was at 13:52 ----------
я спрайты изменил ,их теперь больше и диззи движется через 1 пиксель.
Скорость передвижения вправо как ?
В дизика давно не играл, но влево выглядет естесвеннее.
---------- Post added at 13:56 ---------- Previous post was at 13:54 ----------
У меня уже глюки от всматривания,поэтому и прошу совета.
Делай как на спектруме. Частота обновления экрана 16 fps, движение по 4 пикселя.
goblinish
07.08.2012, 17:27
Демосцена на pure basic
ой, надо же, -kvitaly- написал)
на PB грешат тем, что в dbfinteractive пишут ремейки cracktro.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot