Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.09.15;
Скачать: [xml.tar.bz2];

Вниз

Таскание компонентов   Найти похожие ветки 

 
GameOn   (2013-04-08 00:33) [0]

Всем привет! Хочу попробовать написать игру. Правила схожие с виндовой косынкой но есть некоторые отличия. Встал вопрос как делать? Полностью графическую или использовать визуальные компоненты image? В этом случае незнаю как их таскать мышкой в пределах формы. Посоветуйте пожалуйста! Буду благодарен за советы,ссылки и др. :)


 
брат Птибурдукова   (2013-04-08 00:35) [1]

я уже джва года хочу такую игру


 
GameOn   (2013-04-08 00:36) [2]

Что мешает написать? ;) Опыта наверное поболее чем у меня...


 
Германн ©   (2013-04-08 00:43) [3]


> GameOn   (08.04.13 00:36) [2]
>
> Что мешает написать?

http://lurkmore.to/%D0%9A%D0%BE%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D1%8B


 
GameOn   (2013-04-08 00:49) [4]

Прикольно! :) А по сабжу?


 
alexdn ©   (2013-04-08 00:50) [5]

Удалено модератором


 
GameOn   (2013-04-08 00:53) [6]

Удалено модератором


 
alexdn ©   (2013-04-08 00:56) [7]

Удалено модератором


 
GameOn   (2013-04-08 00:57) [8]

Для себя пишу и практика заодно :)


 
Германн ©   (2013-04-08 01:47) [9]


> А по сабжу?

По сабжу делать полностью графическую стоит только если есть желание изучить именно такое направление. Для всего прочего лучше "таскать" мышкой контролы.


 
Германн ©   (2013-04-08 02:45) [10]

Как их таскать подскажу, если спросишь.


 
картман ©   (2013-04-08 06:23) [11]


> Германн ©   (08.04.13 02:45) [10]
>
> Как их таскать подскажу

лучше подскажи, как таскать каштаны из огня чужими руками


 
Григорьев Антон ©   (2013-04-08 07:19) [12]

Использование компонентов проще, но даёт меньше возможностей. Я недавно тоже писал игрушку с возможностью перетаскивания изображений. Я выбрал вариант с ручной перерисовкой. Мне это дало следующие преимущества:

1. Перетаскиваемое изображение было полупрозрачным (с TImage этого не сделаешь).
2. Изменение или полное исчезновение перетаскиваемой картинки в зависимости от места, над которым расположен курсор (с TImage можно сделать, но без него проще)
3. Естественным образом получается, что перетаскиваемое изображение находится над всем остальным (с TImage это тоже несложно сделать, но появляются дополнительные телодвижения).
4. В моём случае оказалось очень удобно создать класс TDragBase с абстрактными методами, отвечающими и за перерисовку перетаскиваемого объекта, и за действия, выполняющиеся после окончания перерисовки. Потом от этого класса порождаются наследники, заточенные под конкретный тип перетаскиваемого объекта. Если делать такой класс с помощью TImage, то окажется, что TImage во всём этом просто лишняя сущность, проще рисовать самому.


 
БарЛог ©   (2013-04-08 07:39) [13]

Автор, для начала - компоненты однозначно!


 
GameOn   (2013-04-08 08:29) [14]

Антох сырцов не подкинешь если не сложно. Сам drag&drop боюсь не осилю :-(


 
sniknik ©   (2013-04-08 09:43) [15]

> Антох сырцов не подкинешь если не сложно. Сам drag&drop боюсь не осилю :-(
ну вот нафига оно тебе это программирование? после сообщения о том, что drag&drop в общем то не используется, просить сорцы по drag&drop???

купи лучше его книжку.
http://www.labirint.ru/books/267901/
Прилагаемый компакт-диск содержит примеры из книги.


 
GameOn   (2013-04-08 10:03) [16]

Имелось ввиду таскание объектов по игровому полю


 
O'ShinW ©   (2013-04-08 10:10) [17]


> GameOn   (08.04.13 08:29) [14]
>
> Антох сырцов не подкинешь

Даже если он подкинет - с таким подходом


> Сам drag&drop боюсь не осилю

не разберешься.
Пока не прочитаешь книгу. (либо что Мастера советуют, либо любую другую. Понимать d&d надо, чтобы разобраться)

-----------
Пишем три метода MouseDown|MouseUp|MouseMove
Объявляем массив событий мыши, собираем в него ссылки на методы (такие же методы MouseDown|MouseUp|MouseMove)  всех контрлов, контрлам присваиваем наши, написанные методы(MouseDown|MouseUp|MouseMove, нужные нам для таскания)
После того как потаскали, всем назад раздали те методы, которые у них брали
как-то было интересно, делал как-то так. Проект не остался, набросок
http://files.mail.ru/7BDFBC5946EE471B96FB685904055A4B


 
Григорьев Антон ©   (2013-04-08 10:22) [18]


> GameOn   (08.04.13 08:29) [14]
> Антох сырцов не подкинешь если не сложно. Сам drag&drop
> боюсь не осилю :-(

Подкинул бы, тем более что они и так в сети выложены. Да вот, понимаешь, не люблю, когда незнакомые люди так фамильярно ко мне обращаются. Ищи теперь сам.


 
Baks   (2013-04-08 11:10) [19]

Моя схема проста и работает очень хорошо - распологаем один TImage или TPaintBox на форме и на его TCanvas рисуем используя библиотеку FastDIB, обрабатывая TImage.OnMouseDown, OnMouseUp, OnMouseMove.

Вместо TFastDIB можно попробовать Graphics32 http://graphics32.org/wiki//Main/HomePage


 
GameOn   (2013-04-08 11:11) [20]

>Григорьев Антон Извините коллега!



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2013.09.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.002 c
15-1365336685
Разведка
2013-04-07 16:11
2013.09.15
как создать сгенерировать UUID


2-1356680112
aka
2012-12-28 11:35
2013.09.15
Работа с указателями


1-1314002018
Developer
2011-08-22 12:33
2013.09.15
Работа с PNG изображением в Delphi 2010


2-1357246105
Irmantukas
2013-01-04 00:48
2013.09.15
Несрабатывает имитация нажатия левой кнопки мышки...


15-1364759274
xayam
2013-03-31 23:47
2013.09.15
Стереограмма





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский