0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 5
|
||||||||||||||||
1 | ||||||||||||||||
Динамические переменные19.08.2013, 20:17. Показов 1886. Ответов 15
Метки нет (Все метки)
Всем доброго!
Если коротко: я сейчас пытаюсь сделать 2d игру на делфи и столкнулся с проблемой. Суть: У меня есть цикл, вот он:
Подробнее: у меня есть 5 шейпов: b1, b2, b3, b4, b5 - собственно, их имена. Ну и дальше все просто - чтобы я не прописывал уйму строк - мне нужно, чтобы вместо [BLOCK_ID] была цифра (от 1 до 100)
Жду ответов:с
0
|
19.08.2013, 20:17 | |
Ответы с готовыми решениями:
15
Динамические переменные Динамические переменные. Динамические переменные Динамические переменные! |
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
|
|
19.08.2013, 20:26 | 2 |
Вопрос-то в чем?
0
|
пофигист широкого профиля
4733 / 3167 / 859
Регистрация: 15.07.2013
Сообщений: 18,252
|
|
19.08.2013, 20:29 | 3 |
FindComponent('b'+IntToStr(BLOCK_ID))
0
|
19.08.2013, 22:10 | 4 | |||||
Тогда уж имена b[1], b[2], b[3], b[4], b[5], так как Вы к ним обращаетесь в цикле, но тогда и объявление будет:
Поставлю Вам плюсик, когда будет такая возможность у меня и когда Вы допишете-таки игру.
1
|
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 5
|
|
20.08.2013, 17:59 [ТС] | 5 |
Спасибо!
Добавлено через 3 часа 0 минут UPIT Добавлено через 5 секунд UPIT
0
|
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 5
|
|
20.08.2013, 18:13 [ТС] | 7 |
Я пока что пробую первый способ (который подсказали выше - он для меня понятней) - и столкнулся с такой проблемой:
http://puu.sh/46pXy.png Что делать?:с Добавлено через 1 минуту Ну вот ты можешь помочь? http://puu.sh/46pXy.png вот что случилось. Добавлено через 46 секунд помоги:с http://puu.sh/46pXy.png
0
|
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
|
|
20.08.2013, 19:51 | 8 |
GreenGrassD: У тебя там for был от 1 до 100, а шейпов всего 5. Ты не забыл поставить цикл от 1 до 5 ? Потому что, похоже, у тебя обращение к несуществующему объекту. Т.е. FindComponent дало Nil.
Добавлено через 9 минут Или объясни, почему на 5 шейпов цикл от 1 до 100.
0
|
пофигист широкого профиля
4733 / 3167 / 859
Регистрация: 15.07.2013
Сообщений: 18,252
|
|
20.08.2013, 20:20 | 9 |
Ну чтобы такой вариант работал нужно во-первых чтобы компонент имел именно такое имя (TComponent.Name) b1, b2..bN. Во-вторых нужно чтобы у этого компонента был владелец (Owner). И в третьих это должен быть компонент класса TShape. Если ваши шейпы были брошены на форму в designtime, то можно надеяться что эти условия выполнены. Если же они созданы в runtime, то показывайте как.
0
|
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
|
|
20.08.2013, 21:39 | 10 |
Для начала компонент надо создать. И родителя не мешало бы назначить (а не владельца).
0
|
пофигист широкого профиля
4733 / 3167 / 859
Регистрация: 15.07.2013
Сообщений: 18,252
|
|
20.08.2013, 21:58 | 11 |
Не был бы назначен родитель, компонент был бы вообще невидим. Тогда и проблема была бы другая. А владелец необходим именно для того, чтобы компонент попал в список Components и его можно было бы найти по имени методом FindComponent.
0
|
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
|
||||||
20.08.2013, 22:10 | 12 | |||||
Так владелец при создании компонента указывается
0
|
пофигист широкого профиля
4733 / 3167 / 859
Регистрация: 15.07.2013
Сообщений: 18,252
|
||||||
20.08.2013, 22:26 | 13 | |||||
Слишком много во всемирной помойке примеров c
0
|
Пишу на Delphi...иногда
|
|
20.08.2013, 22:37 | 14 |
так указывается объект, в чей список Components будет занесен создаваемый объект, при его разрушении будет сначала вызван деструктор объектов из Components, затем будет уничтожен сам родитель, этого можно и не делать - указать nil, но тогда за уничтожением этого объекта (речь про VCL), необходимо следить самому, владелец объекта находится в свойстве Parent - относительно этого владельца происходит отображение создаваемого объекта.
0
|
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
|
|
20.08.2013, 22:42 | 15 |
Owner - владелец - отвечает, в т.ч. за уничтожение объекта.
Parent - родитель - на нем рисуется компонент.
0
|
Пишу на Delphi...иногда
|
|
20.08.2013, 22:49 | 16 |
FIL, именно так, Owner - владелец, Parent - родитель, согласно перевода на великий и могучий, попутал, но суть та же
0
|
20.08.2013, 22:49 | |
20.08.2013, 22:49 | |
Помогаю со студенческими работами здесь
16
Динамические переменные Динамические переменные Динамические переменные Динамические переменные динамические переменные, Динамические переменные (список) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |