![]() |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Цитата:
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Наоботот. Угол отражения равен углу падения.
Насчет пинг-понга - в БМаксе в комплект поставки входят еще примеры, и там присутствует пинг-понг-без-физ-двига. |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Цитата:
В общем с горем по полам сделал, но щас не могу понять как получать противоположный угол. :) Сделал просто angle: -angle, но работает через раз, иногда шарик пролетает сквозь ракетку либо угол тупо ставится в "0/-0" и мячик без конца летает туда-сюда, а так же пробовал angle = -angle, выходит тоже самое. :( Подскажите плиз как надо. :-D |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Для избежания подобной ситуации прибегают к разного рода ухищрениям, как то : высчитывать угол отражения и менять его в зависимости от того, как далеко мяч столкнулся от центра платформы - наверно замечал, что если мяч сталкивается с самым краем платформы, то угол отражения становится очень острым. Еще можно учитывать скорость и направление движения платформы в момент столкновения, они тоже влияют на угол отражения.
Друг, это все элементарно делается векторами. Пользуйся -> Код:
Function Compare:Int(obj:Float2, withObj:Object) |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Спасибо, только как этот код использовать? Хотя бы семпл приложил. :)
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Ну например нам нужно двигать точку, которая имеет скорость и направление.
Создаем 2 вектора : 1 - это сама точка ( вектор его координат ) 2 - это вектор скорости и направления. КОД: Код:
Graphics 1024, 768 |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Помогите проблемку решить. :)
Написал я парсер файлов для файлов с настройками. По дефолту все данные в String. И вот вопрос: как автоматом переводить данные под нужный тип данных ведь переменные могут быть и Int и Float? |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
есть же:
Код:
String.FromInt() где идёт тупо проверка на содержащиеся "лишние" символы. Для инта это минус и цифры от одного до девяти. Тут кроме тупого перебора строки пока не наткнёшься на "левый" символ ничего хитрого то и не придумаешь. Для флоата всё тоже самое только с точкой String.Find поможет найти точку. Главное перед проверкой на Int/Float делать Trim чтоб всякие переводы кареток да табуляторы убрать. |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Вопрос.
Может кто подскажет (линком, функцией, библиотекой...) Есть квадратное изображение. Нужно его поворачивать на определенный угол, но относительно не центра или верх-лево, а, например, верх-право, низ-лево, низ-право. В принципе сделал через перенос координат, но если изображение с картинкой, то получается ерунда... Спасибо. |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
SetImageHandle image,x,y
image - хендл вашей картинки x,y - координаты точки, относительно которой хотите вращать картинку. Учтите, после применения функции картинка будет рисоваться(!) также не с левого верхнего угла, а с тех координат, что вы указали. |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Спасибо.
Но потом можно вернуть все на место....SetImageHandle Image,0,0 Плюс компенсировать по нужной оси размер картинки SetImageHandle Image,0,63 SetRotation(45) DrawImage (Image, х+200, y+64) ' +64 компенсируем SetRotation(0) SetImageHandle Image,0,0 Тогда еще вопрос. Отсчет ведется от 0 до ширины/высоты картинки -1, так? То есть, если нужно повернуть относительно угла верх-право картинку 64х64, тогда SetImageHandle Image,63,63 Правильно я думаю? |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
ЕМНИП, да, так как считаем от нуля.
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
а мне кажется, таки 64\64, ибо точка поворота будет у правого нижнего пикселя + нижнего правого угла. А вообще, полезно создать папку для "тестов" - и отлаживать там всякие спорные моменты (я так отлаживал шум перлина, астар, инверс.кинематику и прочее, очень помогает при написании верных рабочих формул\функций)
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Так и сделал ))
|
Часовой пояс GMT +4, время: 11:17. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot