Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.95/22: Рейтинг темы: голосов - 22, средняя оценка - 4.95
 Аватар для aptos
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156

Реализовать движущийся фон

24.04.2014, 22:29. Показов 5366. Ответов 56
Метки нет (Все метки)

Как это проще всего оформить в VB6? Менять координаты длиннющей картинки и перерисовывать ее чтобы создавалось ощущение движения, или есть способы получше?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.04.2014, 22:29
Ответы с готовыми решениями:

Движущийся автомобиль)))
Здравствуйте...помогите пожалуйста составить алгоритм программы с анимацией. В общем задание: нам даны две картинки (автомобиль и знак...

Как создать движущийся шарик
Разработка программы движения шарика в окне с отражением от стенок по законам геометрической оптики. Шарик появляется в том месте где...

Движущийся фон блока js
Добрый день, уважаемые форумчане ! Подскажите начинающему как реализовать вот такое demo.bonefishcode.com/bone/file/single.html ? ...

56
 Аватар для aptos
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
25.04.2014, 00:03  [ТС]
Ох нифи.. прикольный плакатик. А какая часть кода убирает ненужный фон?

Добавлено через 39 секунд
Вот-вот, как обрезать-то?)
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
25.04.2014, 00:04

Не по теме:

FelixMacintosh, у меня PNG :D


Gif в Image будет моргать при движении.
1
 Аватар для aptos
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
25.04.2014, 00:05  [ТС]
Еще, trick, если изучать программирование игр на VB6, это дает какую-то пользу для создания действительно серьезных игр?
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
25.04.2014, 00:05
Цитата Сообщение от aptos Посмотреть сообщение
А какая часть кода убирает ненужный фон?
Читай доки по апи. TransparentBlt убирает ключевой цвет.
0
 Аватар для aptos
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
25.04.2014, 00:06  [ТС]
В картинке с деревом вокруг дерева есть фон, в программе его нет. Какая часть кода убирает ненужный фон? А все
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
25.04.2014, 00:07
пример
Вложения
Тип файла: rar Путешествие по моему столу 2.rar (236.8 Кб, 8 просмотров)
1
 Аватар для aptos
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
25.04.2014, 00:09  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
Читай доки по апи.
Это опять на MSDN, да?

Цитата Сообщение от FelixMacintosh Посмотреть сообщение
пример
Attached Files
Путешествие по моему столу 2.rar (236.8 KB, 0 views)
И правда гифка моргает)
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
25.04.2014, 00:09
Цитата Сообщение от The trick Посмотреть сообщение
Gif в Image будет моргать при движении.
только сейчас заметил, что моргает ... пока ты не сказал
но я думаю можно частоту прорисовки настроить и всё будет тип-топ !
1
25.04.2014, 00:10  [ТС]

Не по теме:

Так, я ушел, но обещал вернуться, спокойной ночи. Завтра на свежую голову подумаю :)

0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
25.04.2014, 00:10
Цитата Сообщение от aptos Посмотреть сообщение
Еще, trick, если изучать программирование игр на VB6, это дает какую-то пользу для создания действительно серьезных игр?
На VB6 можно все что угодно написать это такой же язык как и другие. Он компилирует очень эффективный, быстрый код (если правильно написать). Серьезные игры обычно пишут на готовых движках. Ты можешь сам написать на VB движок (кстати Майкл портировал DirectX9 на него). Польза будет в том, что ты будешь изучать графический механизм (например DirectX), а его работа практически не зависит от языка.
1
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
25.04.2014, 00:11
мы сейчас за разговорами... готовую игру состряпаем наверное )))
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
25.04.2014, 00:12
Цитата Сообщение от FelixMacintosh Посмотреть сообщение
но я думаю можно частоту прорисовки настроить и всё будет тип-топ !
Нет.
Для этого нужно рисовать в буфер. А из буфера уже в окно.
1
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
25.04.2014, 00:15
Цитата Сообщение от The trick Посмотреть сообщение
Для этого нужно рисовать в буфер.
чет я никак догнать не могу... как это ...
Продемонстрируй пожалуйста на примере моего проекта
если не трудно а то не усну, буду ворочаться...
1
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
25.04.2014, 00:20
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Вот пример двойной буферизации и работы TransparentBlt. Кстати еще можно регионы отсечения использовать, или более качественное альфа-наложение.
Вложения
Тип файла: rar DoubleBuffer.rar (7.1 Кб, 21 просмотров)
Тип файла: rar Transparent.rar (12.3 Кб, 20 просмотров)
2
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
25.04.2014, 00:23
Цитата Сообщение от FelixMacintosh Посмотреть сообщение
чет я никак догнать не могу... как это ...
Продемонстрируй пожалуйста на примере моего проекта
если не трудно а то не усну, буду ворочаться...
Я делал модуль для проигрывания GIF там двойная буферизация (у меня в блоге). Да практически во всех моих проектах используется двойная буферизация.
Кстати практически доделал то что ты просил (получить Enum'ы из ocx, dll)
2
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
25.04.2014, 00:37
Цитата Сообщение от The trick Посмотреть сообщение
Кстати практически доделал то что ты просил (получить Enum'ы из ocx, dll
очень интересно будет потом взглянуть, думал это чтото невозможное )
но ошибся )

Добавлено через 8 минут
Не пойму почему солнышко не перемещается ...

Visual Basic
1
2
3
4
5
6
7
8
9
10
Private Sub picSun_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Static oldX!, oldY!
    
    If Button = 1 Then
        picSun.Move picSun.Left + X - oldX, picSun.Top + Y - oldY
    Else
        oldX = X: oldY = Y
    End If
 
End Sub
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
25.04.2014, 00:41
Цитата Сообщение от FelixMacintosh Посмотреть сообщение
Не пойму почему солнышко не перемещается ...
Потому что picturebox не надо перемещать - он невидим.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Private Declare Function TransparentBlt Lib "msimg32.dll" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal crTransparent As Long) As Boolean
 
Private Sub Form_Load()
    Call Form_MouseMove(0, 0, Me.ScaleWidth / 2, Me.ScaleHeight / 2)
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim N As Long, W As Long
    
    Me.Cls
    For N = 0 To Me.ScaleWidth Step picBody.ScaleWidth + 10
        TransparentBlt Me.hdc, N, 150, picBody.ScaleWidth, picBody.ScaleHeight, _
                       picBody.hdc, 0, 0, picBody.ScaleWidth, picBody.ScaleHeight, &HFF00FF
        TransparentBlt Me.hdc, N, 150, picHead.ScaleWidth, picHead.ScaleHeight, _
                       picHead.hdc, 0, 0, picHead.ScaleWidth, picHead.ScaleHeight, &HFF00FF
    Next
    N = 0
    Rnd -1
    Do While N < Me.ScaleWidth
        W = (Rnd * 0.25 + 0.75) * picGround.ScaleWidth
        TransparentBlt Me.hdc, N, 160, W, picGround.ScaleHeight, _
                       picGround.hdc, 0, 0, picHead.ScaleWidth, picGround.ScaleHeight, &HFF00FF
        N = N + W
    Loop
    
    TransparentBlt Me.hdc, X, Y, picSun.ScaleWidth, picSun.ScaleHeight, _
                    picSun.hdc, 0, 0, picSun.ScaleWidth, picSun.ScaleHeight, &HFF00FF
    Me.Refresh
End Sub
1
Заблокирован
25.04.2014, 05:45
Цитата Сообщение от FelixMacintosh Посмотреть сообщение
я настолько крут
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
25.04.2014, 08:33
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Пара примеров игр с просторов интернета.
Вложения
Тип файла: rar Engine.rar (71.3 Кб, 11 просмотров)
Тип файла: zip fish.zip (131.5 Кб, 11 просмотров)
Тип файла: rar Super_M.rar (57.2 Кб, 10 просмотров)
0
 Аватар для aptos
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
25.04.2014, 09:57  [ТС]
Цитата Сообщение от SoftIce Посмотреть сообщение
Пара примеров игр с просторов интернета.
Ошибка тут:
Visual Basic
1
Public dx8 As New DirectX8
DirectX8 чтоли устанавливать надо?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.04.2014, 09:57

Динамичный движущийся фон
Доброго времени суток! Может кто знает каким образом реализован фон в одноклассниках - фон когда запрашивает логин с пассом, где меняются...

Реализовать движущийся графический объект с помощью статических и динамических объектов
Добрый день. Решаю задачу из методички и поставлена она следующим образом: используя технологию объектно-ориентированного...

Реализовать двухцветный фон
Здравствуйте. Прошу мне помочь. Есть например у нас дом какой-то на экране.(нарисованный в графике). Надо сделать чтобы было пол экрана...

CSS, реализовать представленный фон
CSS, реализовать представленный фон

[SFML] Как реализовать прозрачный фон?
Работаю, в VS , пишу на C++, помогите пожалуйста сделать так, чтобы после проигрыша, было видно плитки (игра 2048, последнее их положение)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов. Сигнатура func Fetch(urls string, maxConcurrent int) Result Пример urls :=. . .
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition) Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool Worker Pool — паттерн конкурентной обработки задач в Go. Суть: фиксированное количество горутин-воркеров читают задачи из общего канала и пишут результаты в общий канал результатов. . . .
[golang] Pipeline
alhaos 08.06.2026
Pipeline Pipeline — паттерн конкурентной обработки данных в Go. Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь lIs4oanZS9Y
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу. До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru