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

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

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

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 30.04.2013, 22:36   #1
CostUm
ПроЭктировщик
 
Регистрация: 09.11.2007
Сообщений: 141
Написано одно полезное сообщение
Появление изображения

Помогите сделать так, чтобы изображение появлялось в определённом месте по частям, там где зажата кнопка мыши например, тем самым рисуя к примеру граффити на стене.
(Offline)
 
Ответить с цитированием
Старый 01.05.2013, 12:33   #2
tirarex
Бывалый
 
Аватар для tirarex
 
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений
(для 866 пользователей)
Ответ: Появление изображения

DrawBlockRect image,x,y,rect_x,rect_y,rect_width,rect_height,[frame]

это просто рисовать изображение кусками

для граффити можно генерировать карту прозрачности , заполняя её чёрным цветом
(Offline)
 
Ответить с цитированием
Старый 01.05.2013, 14:48   #3
CostUm
ПроЭктировщик
 
Регистрация: 09.11.2007
Сообщений: 141
Написано одно полезное сообщение
Re: Появление изображения

блин, а можешь пояснить функцию если не сложно)) хочу быть в курсе того, что я делаю)
(Offline)
 
Ответить с цитированием
Старый 01.05.2013, 14:59   #4
tirarex
Бывалый
 
Аватар для tirarex
 
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений
(для 866 пользователей)
Ответ: Появление изображения

хелп блица в помощь , но если у тебя не русский хелп то вот

DrawBlockRect image,x,y,rect_x,rect_y,rect_width,rect_height,[frame]
Параметры
image = указатель рисунка
x = координата x экрана, куда будет выводится рисунок
y = координата y экрана, куда будет выводится рисунок
rect_x = начальная координата x на рисунке
rect_y = начальная координата y на рисунке
rect_width = высота части рисунка
rect_height = ширина части рисунка
frame =кадр рисунка (не обязательно)

Описание
Эта команда позволит Вам отобразить прямоугольную ЧАСТЬ изображения в указанном месте на экране. Прозрачные/скрытые под маской части оригинального изображения будут игнорироваться и также будут видимыми.

Это удобно, например, если игрок открывает что-нибудь. Вы можете загрузить полностью большое изображение, а затем, когда игрок выполняет определенное действие в какой-либо части экрана, Вы можете вставить нужную часть загруженного изображения на это место. Если Вы хотите вывести часть изображения с использованием прозрачности или маски, используйте команду DrawImageRect вместо этой.

и еще

DrawImageRect image,x,y,rect_x,rect_y,rect_width,rect_height,[frame]
Параметры
image = указатель рисунка
x = координата x экрана, куда будет выводится рисунок
y = координата y экрана, куда будет выводится рисунок
rect_x = начальная координата x на рисунке
rect_y = начальная координата y на рисунке
rect_width = высота части рисунка
rect_height = ширина части рисунка
frame =кадр рисунка (не обязательно)

Описание
Эта команда позволит Вам отобразить прямоугольную ЧАСТЬ изображения в указанном месте на экране. Прозрачные/скрытые под маской части оригинального изображения будут также прозрачными, как если бы Вы выводили рисунок на экран обычным способом.

Это удобно, например, если игрок открывает что-нибудь. Вы можете загрузить полностью большое изображение, а затем, когда игрок выполняет определенное действие в какой-либо части экрана, Вы можете вставить нужную часть загруженного изображения на это место. Если Вы хотите вывести часть изображения без прозрачности или маски, используйте команду DrawBlockRect вместо этой.
(Offline)
 
Ответить с цитированием
Старый 01.05.2013, 16:14   #5
CostUm
ПроЭктировщик
 
Регистрация: 09.11.2007
Сообщений: 141
Написано одно полезное сообщение
Re: Появление изображения

извиняюсь за наглость, но было бы не плохо увидеть её (функцию) на примере, а то я не могу полностью врубить что к чему)
(Offline)
 
Ответить с цитированием
Старый 01.05.2013, 17:41   #6
St_AnGer
Элита
 
Аватар для St_AnGer
 
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений
(для 2,828 пользователей)
Ответ: Re: Появление изображения

Сообщение от CostUm Посмотреть сообщение
извиняюсь за наглость, но было бы не плохо увидеть её (функцию) на примере, а то я не могу полностью врубить что к чему)
В чём проблема?

Блица под рукой нету, но как то так это должно выглядеть (если нужно вывести часть картинки).

...
img = LoadImage("trololo.png");
...
While Not KeyHit(1)
...
    DrawImageRect (img, 300, 300, 0, 0, ImageWidth(img)/2, ImageHeight(img)/2);
...
Wend
End
В данном случае на экране в координатах (300; 300) отобразится верхняя левая четверть картинки trololo.png. За точность кода не ручаю, но принцип точно этот.
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.

Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2


Скачать Doom 2D: Remake v0.3.8a
(Offline)
 
Ответить с цитированием
Старый 01.05.2013, 18:34   #7
tirarex
Бывалый
 
Аватар для tirarex
 
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений
(для 866 пользователей)
Ответ: Появление изображения

ну и сэмплы из хелпа

Пример DrawBlockRect


; Установим графический режим
Graphics 640,480,16

; Создаём пустой рисунок, в котором нарисуем круг
gfxCircle=CreateImage(50,50)

; Нарисуем круг
; предварительные установки перед рисованием
SetBuffer ImageBuffer(gfxCircle)
Color 255,0,0
; Заметьте пустое пространство между кругом и краем рисунка
Oval 10,10,30,30,1
SetBuffer FrontBuffer()

; Сделаем экран белым, чтобы видеть прозрачные участки
ClsColor 255,255,255
Cls

; выводим на экран случайную часть рисунка
While Not KeyHit(1)
; берем случайную часть и выводим в случайные координаты экрана
; и повторяем это в цикле
DrawBlockRect gfxCircle,Rnd(640),Rnd(480),0,0,Rnd(50),Rnd(50),0
Delay 100
Wend

Пример DrawImageRect


; Установим графический режим
Graphics 640,480,16

; Создаём пустой рисунок, в котором нарисуем круг
gfxCircle=CreateImage(50,50)

; Нарисуем круг
; предварительные установки перед рисованием
SetBuffer ImageBuffer(gfxCircle)
Color 255,0,0
; Заметьте пустое пространство между кругом и краем рисунка
Oval 10,10,30,30,1
SetBuffer FrontBuffer()


; выводим на экран случайную часть рисунка
While Not KeyHit(1)
; берем случайную часть и выводим в случайные координаты экрана
; и повторяем это в цикле
DrawImageRect gfxCircle,Rnd(640),Rnd(480),0,0,Rnd(50),Rnd(50),0
Delay 100
Wend

Wend
(Offline)
 
Ответить с цитированием
Старый 02.05.2013, 20:32   #8
CostUm
ПроЭктировщик
 
Регистрация: 09.11.2007
Сообщений: 141
Написано одно полезное сообщение
Re: Появление изображения

Всё это немного не то, надо чтобы одно изображение рисовалось частями исходя из того, когда я нажимаю кнопку и как вожу мышкой. как то так)
(Offline)
 
Ответить с цитированием
Старый 02.05.2013, 23:45   #9
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Появление изображения

Как у тебя уже реализовано граффити? Чтобы ответить на твой вопрос нужно знать как ты собираешься показывать изображение (пока что цельное) и уже от этого плясать.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 02.05.2013, 23:53   #10
CostUm
ПроЭктировщик
 
Регистрация: 09.11.2007
Сообщений: 141
Написано одно полезное сообщение
Re: Появление изображения

пока никак, я решил зря не начинать, а понять для начала по силам мне придётся это или нет) ну и вот встал с первым вопрос, идея есть, но реализовать как не знаю
(Offline)
 
Ответить с цитированием
Старый 02.05.2013, 23:58   #11
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Появление изображения

Ну тогда сначала надо было задать вопрос "Как делать граффити чтоб потом можно было потом по частям рисовать". В-общем всё должно быть на чём-то основано, а то миллиард вариантов получится. Я даже не понял, у тебя игра 2D или 3D ?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 03.05.2013, 00:14   #12
CostUm
ПроЭктировщик
 
Регистрация: 09.11.2007
Сообщений: 141
Написано одно полезное сообщение
Re: Появление изображения

в 3д
(Offline)
 
Ответить с цитированием
Старый 03.05.2013, 00:24   #13
DarkInside
Разработчик
 
Аватар для DarkInside
 
Регистрация: 08.08.2011
Сообщений: 505
Написано 191 полезных сообщений
(для 369 пользователей)
Ответ: Появление изображения

Как я понял, у тебя есть стена, ты к ней подходишь(вид от первого лица) и рисуешь графити, нажимая ЛКМ?...
Сделай несколько изображений и меняй текстуру в зависимости от продолжительности нажатия ЛКМ...а вообще описывай подробнее, что ты хочешь сделать? никто ничерта не понял
(Offline)
 
Ответить с цитированием
Старый 03.05.2013, 00:26   #14
CostUm
ПроЭктировщик
 
Регистрация: 09.11.2007
Сообщений: 141
Написано одно полезное сообщение
Re: Появление изображения

хаха ну ладно
только игра от 3-его лица, но не в этом соль
(Offline)
 
Ответить с цитированием
Старый 03.05.2013, 00:31   #15
St_AnGer
Элита
 
Аватар для St_AnGer
 
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений
(для 2,828 пользователей)
Ответ: Появление изображения

Может опишешь тогда саму "соль", что бы мы знали как тебе подсказать? Тебе надо что то в стиле GTA: SA (там граффити можно было закрашивать и рисовать ЕМНИП)? Или как в CS 1.6 рисуется? Вариантов реально хренлион, скажи какой нужен тебе?
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.

Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2


Скачать Doom 2D: Remake v0.3.8a
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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