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

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

Вернуться   forum.boolean.name > Проекты > Проекты на BlitzMax

Ответ
 
Опции темы
Старый 06.05.2012, 16:58   #331
4yBa4Ok
Знающий
 
Аватар для 4yBa4Ok
 
Регистрация: 01.04.2011
Адрес: Екатеринбург
Сообщений: 232
Написано 48 полезных сообщений
(для 82 пользователей)
Ответ: Vivo

У меня ваще черный экран.

1920x1080
__________________





(Offline)
 
Ответить с цитированием
Старый 06.05.2012, 17:18   #332
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Vivo

Перезайди, это проблема с генерацией мира.
(Offline)
 
Ответить с цитированием
Старый 06.05.2012, 22:06   #333
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Vivo

dx=KeyDown(KEY_D)-KeyDown(KEY_A)
If dx=1 dpic=1 это для картинки
If dx=-1 dpic=0

If camera_x+50*dx>0 And camera_x+R1+50*dx<map_width*16 And camera_y-g>0 And  camera_y+R2-g*20<map_height*16 проверяем, не выходит ли камера за пределы карты


If solid[map[Int((camera_x+R1/2)/16),Int((camera_y-g+R2/2+48)/16)]]=1 Or solid[map[Int((camera_x+24+R1/2)/16),Int((camera_y-g+R2/2+48)/16)]]=1 Or solid[map[Int((camera_x+15+R1/2)/16),Int((camera_y-g+R2/2+48)/16)]]=1 проверяем на наличие твёрдого блок под игроком. +48 - из-за того, что размеры картинки игрока 28 на 48. Три раза проверяем потому что игрок может занять сразу три блока.

g=0 Останавливаем скорость игрока по оси y

 If KeyDown(KEY_SPACE) g=7 Проверяем на нажатие пробела

camera_y=(Int(camera_y+49)/16)*16-38-g !!!!! ВОТ ОНО. ВОТ ЭТОТ БРЕД МОИХ КОШМАРОВ!!!  объясняю логику. camera_y+49 - из-за размеров картинки, то есть проверяем пикслель под игроком. /16 - переводим координаты в блоки, *16 - обратно в нормальную систему. -g - это для поднятия игрока, если он прыгает. -38 - наш злобный враг. В нём вся соль. Дело в том, что если мыслить логически, то мы должны написать -49( мы ведь проверяли блок под(!) игроком, а камера находится на уровне головы), но вот в практике -49 не даёт результата. Точнее оно может дать результат на каком-то разрешении. -38 даёт результат на высоте экрана в 600( лично у меня ). Дальше комментировать думаю не стоит, ибо там всё понятно, да и ошибка не там.



Else
g=g-0.4
 If g<-20 g=-20

 If g>0
  If solid[map[Int((camera_x+R1/2+28)/16),Int((camera_y+R2/2-1)/16)]]=0 And solid[map[Int((camera_x+R1/2)/16),Int((camera_y+R2/2-1)/16)]]=0 And  solid[map[Int((camera_x+R1/2+16)/16),Int((camera_y+R2/2-1)/16)]]=0 
  camera_y=camera_y-g
 Else
 g=-g
  EndIf
 Else

  camera_y=camera_y-g

 EndIf
EndIf



If Not collision()
camera_x=camera_x+dx*speed

EndIf


EndIf
End Function

Function collision()


For i=1 To 3
If solid[map[Int((camera_x-2+dx*speed+R1/2)/16),Int((camera_y-1+R2/2)/16)+i]]=1
camera_x=(Int((camera_x)/16)-1)*16+16
Return True

EndIf
Next

For i=1 To 3
If solid[map[Int((camera_x+dx*speed+28+R1/2)/16),Int((camera_y-1+R2/2)/16)+i]]=1
'camera_x=(Int((camera_x+32)/16))*16
Return True
EndIf

Next
End Function

Так, мне нужна ваша помощь, и сейчас это действительно серьёзно. Я вообще не понимаю почему код не работает. Точнее сказать работает, но только на каких-то разрешениях экрана, хотя не ясно как это вообще взаимосвязано.
И проверьте новую версию, возможно нашёл ошибку.
Вложения
Тип файла: rar vivo.rar (766.7 Кб, 767 просмотров)

Последний раз редактировалось Nikich, 06.05.2012 в 23:30.
(Offline)
 
Ответить с цитированием
Старый 07.05.2012, 11:30   #334
Spy4433
ПроЭктировщик
 
Аватар для Spy4433
 
Регистрация: 16.04.2008
Сообщений: 161
Написано 36 полезных сообщений
(для 63 пользователей)
Ответ: Vivo

Пашет норм бегает сделай по плавнее его движение и ваще классно будет.

FPS:60 стабильно 
разрешение:1280х1024

---------------------------
Плавность движения по x а то как то немного резковато
__________________
форум эт вещь... и почему я раньше им не пользовался?

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

Последний раз редактировалось Spy4433, 07.05.2012 в 16:05.
(Offline)
 
Ответить с цитированием
Старый 07.05.2012, 21:12   #335
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Vivo

Хорошо, сейчас сделаю ускорение, чтобы он не мгновенно разгонялся. И всё же сделал полную поддержку любого разрешение( играл на 240х320, даже там всё работает). Пока что заливать не буду, а то кроме этого ничего не добавлено.
Кстати, может кто-нибудь помочь с мультиплеером?
(Offline)
 
Ответить с цитированием
Старый 08.05.2012, 17:39   #336
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Vivo

Global rr2=Graphics(800,600,0,60,0)
EndGraphics
Global rr1=Graphics(R1,R2,0,60,0)
...
If KeyHit(KEY_F11) 
EndGraphics
SetGraphics(rr1)

EndIf
If KeyHit(KEY_F12)
EndGraphics
SetGraphics rr2

EndIf
Можете подсказать, в чём ошибка? Не совсем понимаю, как вообще изменять риалтайм разрешение.
(Offline)
 
Ответить с цитированием
Старый 08.05.2012, 17:50   #337
Spy4433
ПроЭктировщик
 
Аватар для Spy4433
 
Регистрация: 16.04.2008
Сообщений: 161
Написано 36 полезных сообщений
(для 63 пользователей)
Ответ: Vivo

а в чем проблема то ?


Global rr1=Graphics(800,600,0,60,0)



Repeat 
DrawRect 10,10,100,40


If KeyHit(KEY_E) Then 
set=1-set
If set=0 Then 
EndGraphics
rr1=Graphics(800,600,0,60,0)
SetGraphics(rr1)
EndIf 

If set=1 Then 
EndGraphics
rr2=Graphics(320,240,0,60,0)
SetGraphics(rr2)
EndIf 

EndIf 
Flip 

Until KeyHit(KEY_ESCAPE)
__________________
форум эт вещь... и почему я раньше им не пользовался?

AMD Phenom(tm) II X6 3.20GHz 8GB GTX 550(1Gb)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Nikich (08.05.2012)
Старый 08.05.2012, 18:16   #338
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Vivo

А-а-а, понял. Надо заново создавать Graphics при каждом переключении, а не предварительно. Спасибо!
(Offline)
 
Ответить с цитированием
Старый 08.05.2012, 21:12   #339
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Vivo

Новая версия.
- F11 - переключение на оконный\полноэкранный режим
- 1,2,3,4,5,6,7,8 - переключение между клетками инвентаря.
- На колёсико мыши можно менять используемую ячейку на панели быстрого доступа.
- Теперь нельзя ставить\разрушать блоки на далёкой дистанции.
- Теперь блоки не разрушаются мгновенно, требуется некоторое время(!)
Миниатюры
Нажмите на изображение для увеличения
Название: screen.jpg
Просмотров: 1029
Размер:	378.4 Кб
ID:	16810  
Вложения
Тип файла: rar vivo.rar (788.8 Кб, 789 просмотров)

Последний раз редактировалось Nikich, 08.05.2012 в 23:53.
(Offline)
 
Ответить с цитированием
Старый 02.06.2012, 14:20   #340
Черный крыс
 
Сообщений: n/a
Ответ: Vivo

Работа с пиксмапой ничего не требует. Вся работа с ней скрыта за тенью LoadImage LoadAnimImage. И ты просто можешь менять разрешение "на лету" не перезагружая заново все ресурсы как бы это надо было бы делать в Blitz3D.
Ты тлько не забывай что она требует повышенный расход оперативной памяти, причем стандартным сборщиком мусора он никак не учитывается. Класс TPixmap - это ненужный балласт для системы, через него очень проблематично пользоваться функцией Read\WritePixel(), он не обеспечивает управления картинкой в реальном времени, и еще как минус - отсутствие быстро читать и писать пикселя. - Слишком много минусов ради одного пункта удобности, автомотической перегрузки графики при потере девайса.
А вот Blitz3D - устроен куда правильнее. Я лучше вручную буду перегружать всю графику, чем иметь такой геморой как в BlitzMax.
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
St.Random (04.06.2012)
Старый 04.06.2012, 23:50   #341
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,354
Написано 2,470 полезных сообщений
(для 6,850 пользователей)
Ответ: Vivo

Сообщение от Diablo1909 Посмотреть сообщение
Я лучше вручную буду перегружать всю графику, чем иметь такой геморой как в BlitzMax.
Я даже в своё время "отпиливал" TPixmap, но увы сорс ныне утерян.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 05.06.2012, 23:56   #342
reumep
Знающий
 
Аватар для reumep
 
Регистрация: 04.11.2011
Сообщений: 285
Написано 66 полезных сообщений
(для 159 пользователей)
Ответ: Vivo

Сообщение от Nikich Посмотреть сообщение
Новая версия.
- F11 - переключение на оконный\полноэкранный режим
- 1,2,3,4,5,6,7,8 - переключение между клетками инвентаря.
- На колёсико мыши можно менять используемую ячейку на панели быстрого доступа.
- Теперь нельзя ставить\разрушать блоки на далёкой дистанции.
- Теперь блоки не разрушаются мгновенно, требуется некоторое время(!)
будь другом, откомпилируй, пожалуйста(нет blitzmax, лень искать и качать)
(Offline)
 
Ответить с цитированием
Старый 06.06.2012, 16:48   #343
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Vivo

Так в архиве ведь .exe.
(Offline)
 
Ответить с цитированием
Старый 07.08.2012, 06:52   #344
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Vivo

(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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