Я вот тут пытался разобраться с HiAsm и вроде по немногу получалось, а сегодня открыл то что сделал и не фига не работает
Проблем сразу несколько
1. с компонентом MathParse. цель высчитывать направление от спрайта к указателю мыши(вылетает сразу после запуска или после перемещения мыши). Удалив из общей схемы части которые к этому блоку не относятся MathParse нормально работает а в обшей схеме сразу после запуска выдаёт ошибку то в позиции 22 то в 0 и иногда в 4 (в прилагаемом архиве этот блок отельно скопирован в файл test)
2. Столкновение спрайтов. до сегодняшнего дня тоже нормально было а теперь постоянно выдают все спрайты что сталкиваются со спрайтом "-16". Как вобще может быть минус шестнадцатый спрайт?
http://rapidshare.com/files/395771693/test.rar
Далее пару вопросов.
Выстрелы организовал(частично взял из примера на этом форуме) с помощью контейнера PolymorphMulti, после взрыва спрайт снаряда удаляется а сам контейнер надо удалять из памяти? если да то как именно, ведь одновременно может лететь несколько снарядов.
Как работает массив спрайтов GE_SpriteArray? разобратся не смог так как при добавлении его эксешник просто не запускается.
И это пока не очень важно, если я хочу сделать карту больше разрешения экрана как осуществить её смешение чтобы управляемый обект(в данном случае танк) находился всегда в поле видимости?
З.Ы. если кому не лень разясните пожалуйста по подробнее и если можно с примерами, я не программист. Заранее спасибо
Этот топик читают: Гость
Ответов: 7
Рейтинг: 1
|
|||
карма: 0 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Макс писал(а): http://rapidshare.com/files/395771693/test.rarУ меня динамические IP и пишет, что с моего адреса уже скачивается, хотя я ничего не качаю, это раз Для таких целей служит Файлообмен (ссылка есть вверху страницы форума), это два Судя по размеру архива, ты впихнул в него exe (если конечно это не спрайты), этого делать не стоит, давай только схему, это три Ну, пожалуй все пока что ------------ Дoбавленo в 12.11: Ах, да, и еще ты разделом ошибся, вам в Пакет Windows->Help |
|||
карма: 10 |
|
Ответов: 7
Рейтинг: 1
|
|||
У меня тоже динамический, лечится отключением интернета на секунду.
Я на файлообмен не могу залить пишит "Недостаточное количество оставленных сообщений" В архиве только две схемки. вес из за спрайтов, я не нашок как вращять спрайты пришлось врашение в виде анимации использовать. И ещо забыл сразу написать как заблокировать движение по горизонтали? |
|||
карма: 0 |
|
Ответов: 5446
Рейтинг: 323
|
|||
Макс, твой архив залил на файлообмен: клац.
|
|||
карма: 1 |
|
Ответов: 7
Рейтинг: 1
|
|||
Всем лень проверить или не известно что там не правельно?
ЗЫ. iarspider спасибо что перезалил сюда. |
|||
карма: 0 |
|
Ответов: 2236
Рейтинг: 676
|
|||
1. Ошибку получить не удалось.
2. Где у тебя выдает -16? 3. PolymorphMulti для пули не лучший вариант (пробуй GE_SpriteArray). 4. Где твоя проба GE_SpriteArray? 5. Ты для каждого блока стены будешь делать отдельный GE_Sprite?(см. 3) 6. У тебя танк по диагонали ездит быстрей, так и задумано? 7. Какое движение ты хочешь заблакировать по горизонтали? 8. При выстреле и быстрым вращением башни снаряды летят боком. |
|||
карма: 11 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
1. никаких проблем со схемами не замечано (используемый компилятор - Delphi)
2. не удалось получить столкновение с -16м спрайтом. Макс писал(а): Выстрелы организовал(частично взял из примера на этом форуме) с помощью контейнера PolymorphMulti, после взрыва спрайт снаряда удаляется а сам контейнер надо удалять из памяти? если да то как именно, ведь одновременно может лететь несколько снарядов.использовать надо GE_SpriteArray. Удаление спрайта и контейнера осуществляется после вызова метода doDestroy Макс писал(а): Как работает массив спрайтов GE_SpriteArray? разобратся не смог так как при добавлении его эксешник просто не запускается.была ли указана GameScene контейнера и каждого спрайта внутри него? Без заполнения этих св-тв элемент работать не может. Макс писал(а): И это пока не очень важно, если я хочу сделать карту больше разрешения экрана как осуществить её смешение чтобы управляемый обект(в данном случае танк) находился всегда в поле видимости?перемещать вместо танка объект фона(Fon) и объект уровня(Pole) |
|||
карма: 27 |
|
Ответов: 7
Рейтинг: 1
|
|||
.Программа вылетает если быстро провести над формой мышкой. (полностью переустановил HiAsm и поставил другой Delphi результат точно такойже)
.Ну вот скрин точки onHitХ и onHitY элемента GE_Sprite Корпуса выдают -16 при этом танк просто буксует на месте. и снаряд во время выстрела выдаёт тоже -16 и тутже над танком взрывается, а если убрать уничтожение то долетая до какого дибудь спрайта выдаёт его ID, но следующий при выстреле опять выдаёт -16. .Я хотел заблокировать движение по диагонали, торопился и написал не то З.Ы. а сколько сообщений надо оставить чтобы появилась возможность сюда заливать вайлы? |
|||
карма: 0 |
|
Ответов: 2236
Рейтинг: 676
|
|||
Макс, как минимум у меня нет твоего файла 2.txt, смотря на твой скриншот у тебя всетаки он загрузается в GE_GridSpace. Возможно ты еще что забыл, вот у нас и работает.
Твои спрайты залил суда:http://hiasm.com/forum_serv.php?q=56&id=1501 указывай эту ссылку и выкладывай схему без элемента GE_SpriteCollection. Вот тебе танк без движения по диагонали и пули в GE_SpriteArray: code_18746.txt Для работы схемы вставьте спрайты (ссылку см. выше) |
|||
карма: 11 |
| ||
файлы: 1 | code_18746.txt [19KB] [368] |
Ответов: 7
Рейтинг: 1
|
|||
Огромное спасибо!
2.txt забыл засунуть, в нём и была проблема, -16 это был пробел. Я в место нулей пробелы поставил думал разници не будет. Как получить индекс GE_SpriteArray? и почему ##delete ##clear всё останавливают.
Ещё маленький вопрос: Можно ли каким нибудь способом устанавливать Z-уровень спрайтов кроме как в контекстном меню "Передний план" и "Задний план"? |
|||
карма: 0 |
|
Ответов: 2236
Рейтинг: 676
|
|||
1. Получение индекса смотри в примере (при навидении курсора, ЛКМ удаляет).
2. ##delete и ##clear наверное не работают, я обходился без них смотри пример. 3. Z-уровень наверное поменять не получиться. Возможно по п.2 и 3 я не прав, Dilma поправит если не так. Пример: code_18764.txt Добавить элемент с спрайтами GE_SpriteCollection (ссылка выше) Я тоже не программист, но пока делал всякие игры на HiAsm взял за правило не использовать без надобности больше чем один таймер. P.S. "Огромное спасибо!" можно выразить нажав на + справа от рейтинга |
|||
карма: 11 |
| ||
файлы: 1 | code_18764.txt [5KB] [249] | ||
Голосовали: | Макс |
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Макс писал(а): Можно ли каким нибудь способом устанавливать Z-уровень спрайтов кроме как в контекстном меню "Передний план" и "Задний план"?а чем такой способ плох? или все же имеется ввиду установка во время работы приложения? sla8a писал(а): ##delete и ##clear наверное не работают, я обходился без них смотри пример.работают, но не удаляют информацию о спрайте со сцены. Для удаления нужно использовать только doDestroy у спрайта. |
|||
карма: 27 |
|
Ответов: 2236
Рейтинг: 676
|
|||
Dilma писал(а): ##delete и ##clear работают, но не удаляют информацию о спрайте со сценыЭто надо понимать как то что мой пример правильный(удаление спрайта через ##select-->doDestroy)? Если нет то можно пример. А Z-уровень возможно изменить у башни (поверх блоков)? (думаю это имел ввиду Макс) Пример: code_18766.txt Добавить элемент с спрайтами GE_SpriteCollection (ссылка выше) |
|||
карма: 11 |
| ||
файлы: 1 | code_18766.txt [1.4KB] [260] |
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
sla8a писал(а): Это надо понимать как то что мой пример правильныйда sla8a писал(а): А Z-уровень возможно изменить у башни (поверх блоков)?во время выполнения приложения Z уровень определяется только порядком добавления спрайтов |
|||
карма: 27 |
|
Ответов: 7
Рейтинг: 1
|
|||
Помните игру Battle City, пример от туда. Последними в сцене появляются танки и они ездиют под деревьями, вот и мне нужны спрайты которые всегда поверх всех других находятся
|
|||
карма: 0 |
|