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

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

Вернуться   forum.boolean.name > Программирование игр для компьютеров > BlitzMax

Ответ
 
Опции темы
Старый 23.03.2013, 14:47   #211
yorri
Оператор ЭВМ
 
Аватар для yorri
 
Регистрация: 06.03.2009
Сообщений: 21
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Вопрос.
Есть тайловое игровое поле - большое (1000х1000), когда я двигаюсь и его перерисовываю части изображения начинают как бы "дребезжать и смазываться"...
1. Можно ли как то это устранить, может синхронизацией какой то?
2. Может лучше давать перерисовывать только видимые тайлы , а не все поле?
Спасибо.
(Offline)
 
Ответить с цитированием
Старый 23.03.2013, 17:42   #212
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Рисовать обязательно надо только видимые тайлы. Во-первых, какой смысл рисовать то, что мы не видим? Во-вторых, мало того, что это бесполезно, мы ещё и производительность теряем.
Измени Flip, на Flip(1), должно помочь.
(Offline)
 
Ответить с цитированием
Старый 23.03.2013, 18:41   #213
yorri
Оператор ЭВМ
 
Аватар для yorri
 
Регистрация: 06.03.2009
Сообщений: 21
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Спасибо, попробую.
(Offline)
 
Ответить с цитированием
Старый 03.04.2013, 15:43   #214
yorri
Оператор ЭВМ
 
Аватар для yorri
 
Регистрация: 06.03.2009
Сообщений: 21
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Еще раз спасибо, все сделал, все получилось.

Тут возник такой вопрос.
Есть главный файл
В нем
...
Include "Bullet.bmx"
Import "Collisions.bmx"
...

Global BulletList:TList = CreateList() 

...
в главном цикле
...
CollisionsCheck()
...
Хочу сделать в отдельном файле Collisions.bmx всякую проверку столкновений, но не могу "добраться" ...

Function CollisionsCheck() 

For Local Bullet:TBullet = EachIn BulletList
	
   If Bullet.BulletCollided = 1 Then DrawText "Collide" + BulletX, 10, 30

Next
EndFunction
Выдает ошибку "Compile Error: Identifier 'TBullet' not found"

Параметр BulletCollided описан в Bullet.bmx

Спасибо.
(Offline)
 
Ответить с цитированием
Старый 03.04.2013, 16:08   #215
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Поидее должно работать но к чему тут Import?
Include "Bullet.bmx"
Import "Collisions.bmx"
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
yorri (06.04.2013)
Старый 03.04.2013, 17:06   #216
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Емнип Import в BlitzMAX это как Include_once, добавляет только если ещё не было добавлено ранее.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Жека (03.05.2013)
Старый 03.04.2013, 18:27   #217
yorri
Оператор ЭВМ
 
Аватар для yorri
 
Регистрация: 06.03.2009
Сообщений: 21
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Спасибо, заработало. Поменял Import на Include.
/не опытен я еще /
(Offline)
 
Ответить с цитированием
Старый 04.04.2013, 17:42   #218
yorri
Оператор ЭВМ
 
Аватар для yorri
 
Регистрация: 06.03.2009
Сообщений: 21
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Вопрос.
А можно ли как-то узнать координаты точки в которой произошла коллизия? Я имею ввиду не координаты двух обьектов (это мы знаем), а именно координати пикселя где они с толкнулись.
Спасибо.
(Offline)
 
Ответить с цитированием
Старый 04.04.2013, 23:27   #219
yorri
Оператор ЭВМ
 
Аватар для yorri
 
Регистрация: 06.03.2009
Сообщений: 21
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Еще вопрос.

Проверяю столкновение.
Вот такой вариант работает
Local p:Object[] = CollideImage(BulletImage, BulletX, BulletY, 0, 1, 0) 
For Local i:Int = 1 To p.Length
DrawText "Collide" + (TTile(p[i - 1] ).MapX), 10, 250
Next
А такой нет
Local p:Object = CollideImage(BulletImage, BulletX, BulletY, 0, 1, 0) 
If p <> Null Then
Local i:Int = TTile(p).MapX
DrawText "Collide " + BulletX, 10, 250
EndIf
Как бы одно и тоже, но во втором варианте выдает ошибку, типа ссылка на Null объект... хотя отладчик показывает, что переменная р не пустая...
(Offline)
 
Ответить с цитированием
Старый 05.04.2013, 14:03   #220
Platon
Знающий
 
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений
(для 70 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

в первом случае кастуешь указатель на объект к тайлу
во втором случае кастуешь указатель на коллекцию обьектов, что неверно, преобразовать тип не удалось, в результате указатель на TTile становится null

и еще
For Local i:Int = 1 To p.Length
...[i - 1]...
Юзай Until:
For Local i:Int = 0 Until p.Length
...[i]...
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
yorri (06.04.2013)
Старый 06.04.2013, 12:00   #221
yorri
Оператор ЭВМ
 
Аватар для yorri
 
Регистрация: 06.03.2009
Сообщений: 21
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Сообщение от Platon Посмотреть сообщение
в первом случае кастуешь указатель на объект к тайлу
во втором случае кастуешь указатель на коллекцию обьектов, что неверно, преобразовать тип не удалось, в результате указатель на TTile становится null...
Спасибо. Кажись понял.
(Offline)
 
Ответить с цитированием
Старый 07.04.2013, 01:23   #222
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Не подскажите, как можно свернуть окно приложения так, чтобы оно не отображалось на панели задач? Желательно также, чтобы в трее тоже не было видно.
(Offline)
 
Ответить с цитированием
Старый 09.04.2013, 01:46   #223
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Сообщение от Nikich Посмотреть сообщение
Не подскажите, как можно свернуть окно приложения так, чтобы оно не отображалось на панели задач? Желательно также, чтобы в трее тоже не было видно.
WinAPI. онли
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Nikich (14.04.2013)
Старый 14.04.2013, 17:17   #224
yorri
Оператор ЭВМ
 
Аватар для yorri
 
Регистрация: 06.03.2009
Сообщений: 21
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Назрели два вопроса. Буду признателен за помощь.
Первый.
Каким образом можно узнать/отсчитывать отрезки времени. Например мне нужно выполнять некоторое действие скажем каждые 10, 15, 30 сек?...

Второй.
Есть тайл-изображение (32х32, png), есть другой тайл (32х32, png). Нужно обьеденить эти изображения (скажем методом "И"), то есть поверх первого нарисовать другое, и что бы результат действий записался вместо первого изображения. Можно как то это сделать?, а то сейчас просто рисую второе поверх первого, что не есть хорошо.
Спасибо.
(Offline)
 
Ответить с цитированием
Старый 14.04.2013, 17:55   #225
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Global time=MilliSecs(), interval = 500
...

if MilliSecs()-time>interval
...
time=MilliSecs()
endif
Мне кажется, попиксельно изменять картинку будет медленнее, чем нарисовать 2 картинки.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
yorri (26.04.2013)
Ответ


Опции темы

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

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


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


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