13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
|
|
1 | |
Реализовать движущийся фон24.04.2014, 22:29. Показов 4293. Ответов 56
Метки нет (Все метки)
Как это проще всего оформить в VB6? Менять координаты длиннющей картинки и перерисовывать ее чтобы создавалось ощущение движения, или есть способы получше?
0
|
24.04.2014, 22:29 | |
Ответы с готовыми решениями:
56
Движущийся автомобиль))) Как создать движущийся шарик Движущийся фон блока js Динамичный движущийся фон |
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
|
||||||
25.04.2014, 10:14 [ТС] | 42 | |||||
Жаль плюсики закончились. Спасибо)
Добавлено через 2 минуты Ту строку пропустил, теперь тут ругается:
Добавлено через 9 минут В общем думаю установлю Microsoft DirectX 8.1 SDK for Visual Basic, а потом уже буду с ошибками разбираться. Наверно из-за этого все.
0
|
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
|
||||||
25.04.2014, 13:19 [ТС] | 44 | |||||
А точно, через cmd.exe ведь регестрировать надо...
Добавлено через 2 часа 35 минут
Не по теме: Только не отправлять на MSDN :)
0
|
Модератор
|
|
25.04.2014, 13:25 | 45 |
Set - это присвоить одной объектной переменной ссылку на другую. Т.к. в VB есть такое понятие как свойство по умолчанию мы не можем просто сделать d3d = dx8.Direct3DCreate (в разных случаях по разному)б потому что это будет эквивалентно присвоению свойств объектов по умолчанию. В твоем примере ты создаешь новый объект посредством dx8.Direct3DCreate и присваиваешь его переменной d3d. Так же ты можешь потом написать Set d3d2 = d3d, и уже две переменные будут ссылаться на один и тот же объект.
0
|
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
|
|
25.04.2014, 13:39 [ТС] | 46 |
Т.е. объект создается независимо от переменных, а уже переменные получают только ссылку на него? Вроде как, d3d2 ссылается на d3d, а d3d ссылается dx8.Direct3DCreate? Или я что-то не так понял.
Ой, наверно у обоих переменных один и тот же адрес будет... Добавлено через 9 минут Ну это несущественно, вот вопрос назрел. Что именно создает Direct3DCreate? В книге как-то этот момент обошли. Видно что-то Direct и 3D, но суть непонятна
0
|
Модератор
|
|
25.04.2014, 13:53 | 47 |
Сообщение было отмечено The trick как решение
Решение
Есть понятие кокласса, интерфейса. В VB6 классы являются коклассами. Грубо говря это такие которые могут создавать объект на своей основе. Примеры коклассов (Collection, StdFont). Создание объекта происходит при обращении к DAN ссылке или при явном создании Set Obj = New Class. Все объектные переменные являются указателями на указатели на интерфейс объектов. Сами данные объекты хранятся произвольно (в разных классах). Каждый объект хранит число ссылок на себя, как это число равно нулю, так объект уничтожается. Это очень большая тема и кроме как отправить тебя в MSDN я не могу, т.к. писать очень много.
Нет. Упрощенно dx8.Direct3DCreate создает объект и присваивает его переменной d3d, поэтому счетчик увеличивается на 1 и становится равен 1-му. Потом присваивая второй переменной счетчик еще увеличивается на 1 и становится равным 2. После выхода из области видимости функции, каждой переменной присваивается Nothing и счетчик также уменьшается и становится равным 0, поэтому объект уничтожается. Объект получается зависим от переменных. Нет. Адреса будут разными, а вот значения по этим адресам одинаковые. Вот небольшое описание VB классов Вызов любых функций по указателю Добавлено через 3 минуты Создает устройство вывода. С помощью него ты будешь "рисовать" объекты, накладывать текстуры, свет и т.п.
0
|
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
|
|||||||||||
25.04.2014, 14:55 [ТС] | 48 | ||||||||||
Я вернулся...
Не по теме:
Как всегда спасибо, мне бы преподавателя такого в универ... Все знаете. Пока света не было и батарея на ноуте была жива, еще появились вопросы, не совсем именно по DirectX. Насколько понял из MSDN (если правильно перевел), DoEvents возвращает значение, равное количеству открытых форм. Зачем он тут:
И вот:
Извиняюсь за назойливость Добавлено через 2 минуты Тут пока для меня слишком много непонятного, к этому позже немного вернусь Добавлено через 4 минуты интерфейс IDispatch... реверс-инжиниринг... наследует IUnknown... Как обычно ==>
0
|
Модератор
|
|
25.04.2014, 14:56 | 49 |
Функция DoEvents выполняет обработку сообщений находящихся в очереди. Если убрать DoEvents то приложение не будет отвечать и зависнет.
http://visualprogs.ru/all/6.html
Двоеточие эквивалентно переводу на новую строку.
0
|
Заблокирован
|
||||||
25.04.2014, 14:59 | 50 | |||||
DoEvents включает реакцию на события !
Добавлено через 2 минуты Тоесть если использовать какой-либо безконечный цикл надо делать так
иначе программа зависнет
0
|
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
|
|
25.04.2014, 15:03 [ТС] | 51 |
Ха, и правда зависло
Уже несколько раз от вас слышу "сообщение"... Это ведь не MsgBox, правда? Дайте хоть на MSDN ссылку, а то гугл на "сообщения в VB6" ничего путного не выдает Добавлено через 38 секунд Аааа, теперь понял, спасибо! Не по теме: Бесконечный :p
0
|
Заблокирован
|
|
25.04.2014, 15:07 | 52 |
я кстате дословно перевел, воспользовавшись яндекс-переводчиком ...Do Events = Неужели События
0
|
Модератор
|
||||||
25.04.2014, 15:15 | 53 | |||||
Сообщение было отмечено The trick как решение
Решение
Кстати DoEvents довольно медленная функция, к тому же ее обычно используют не как функцию а как процедуру. Можно многократно ускорить
1
|
|
25.04.2014, 15:16
#54
|
Не по теме: Хотелось бы добавить что сервисы яндекса точнее переводят и правильнее чем сервисы гугла
0
|
Модератор
|
|
25.04.2014, 15:16 | 55 |
1
|
13 / 13 / 3
Регистрация: 04.06.2013
Сообщений: 156
|
|
25.04.2014, 18:29 [ТС] | 56 |
Не по теме: Я вроде со школы помню, что Do - это делать... Гугл так же думает кстати - "сделать события" мне перевел :) Может когда вводил что переводить ошибся? Если не ошибся, то да, точность яндекса на высоте :D Добавлено через 1 минуту Оки Спасибо! Т.е. сообщения - это реакция VB6 на какие-то изменения(события)?
0
|
Заблокирован
|
|
25.04.2014, 19:18 | 57 |
потому что гугл делали американские русофобы
а яндекс лицом к нам ) Добавлено через 39 минут Сообщения... Это основная форма общения между всеми объектами в операционной системе Добавлено через 48 секунд поэтому они в очередях ...
1
|
25.04.2014, 19:18 | |
25.04.2014, 19:18 | |
Помогаю со студенческими работами здесь
57
Реализовать движущийся графический объект с помощью статических и динамических объектов Реализовать двухцветный фон CSS, реализовать представленный фон [SFML] Как реализовать прозрачный фон? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |