Четверг, 16 Мая 2024, 00:13

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » -Mikle- [196]
Результаты поиска
-Mikle-Дата: Воскресенье, 24 Июня 2012, 11:19 | Сообщение # 101 | Тема: Работа с DirectX 8. Поможете?
Изобретатель велосипедов
Сейчас нет на сайте
Quote
Это я понял, что переменные удаляются (очищаются), но для чего?

Перед завершением программы нужно удалять все объекты, созданные не средствами VB6, например DirectX, GDI и т. п. Иначе они останутся висеть мусором в памяти.
Рендер в DirectX делается в бесконечном цикле, а VB6 - событийно-ориентирован, приходится этот цикл создавать искусственно - от Do до Loop. Переменная Running сделана для того, чтобы этот цикл можно было прервать. Когда цикл прерван - программа завершена, поэтому сразу Unload, чтобы не оставалась висеть пустая форма.
Процедура Form_Load выполняется ещё до того, как форма отобразилась на экран, пока Form_Load не завершится, форма не отобразится, поэтому её перед началом цикла искусственно отображаем с помощью Me.Show
Quote
Сначала очищает и задает сучайный цвет линии

Это очистка не линии, а всей формы, если ты видишь линии, значит цвета меняются слишком быстро, монитор не успевает это отобразить, это нормально.
d3dDevice.Present - это вывод нарисованного изображения на форму. DirectX всё рисует сначала в память, а когда изображение готово - его отображают с помощью Present.
Большая часть твоих вопросов касаются не DirectX, а общего программирования на VB6. Погугли и почитай про объектно-ориентированное программирование, событийно-ориентированное программирование.
-Mikle-Дата: Четверг, 28 Июня 2012, 19:25 | Сообщение # 102 | Тема: Индивидуальный статус
Изобретатель велосипедов
Сейчас нет на сайте
Просьба установить мне статус "Изобретатель велосипедов", это моё повседневное занятие. smile
-Mikle-Дата: Среда, 11 Июля 2012, 14:47 | Сообщение # 103 | Тема: Не работает вход на сайт в IE8.
Изобретатель велосипедов
Сейчас нет на сайте
Сегодня с утра перестала работать кнопка с ключиком в заголовке сайта - не появляется всплывающее окно, отключал Gate антивирусника, сбрасывал настройки IE - не помогает. Удалось войти через регистрацию - там есть другая форма входа. Потом проверил в другом месте на другом компьютере - то же самое, однако Опера всплывающее окно показала.
Предлагаю не устраивать тут холиваров о браузерах, каждый пользуется тем, чем хочет, в любом случае IE8 ещё актуален и его поддержка нужна.
-Mikle-Дата: Четверг, 12 Июля 2012, 11:01 | Сообщение # 104 | Тема: PHP и C++
Изобретатель велосипедов
Сейчас нет на сайте
В VB6 можно не задавать тип переменным:
Code
Dim a, b, c

И не будет строгой типизации. Пример:
Code
  Dim a, b, c
    
   Set a = Picture1.Picture
   b = a.Width
   c = "ширина:" & b
    
   Caption = c

Но такой код медленнее, и в этом виноват не бейсик. В таком коде легче ошибиться, с ним не может работать технология intellisense. Поэтому я - сторонник строгой типизации, в данном случае использую:
Code
Dim a As IPicture, b As Long, c As String
-Mikle-Дата: Пятница, 13 Июля 2012, 10:56 | Сообщение # 105 | Тема: Не работает вход на сайт в IE8.
Изобретатель велосипедов
Сейчас нет на сайте
Проверил на IE8 на третьем компьютере, и само подключение тоже совсем другое - через MTS-connect. Тоже ключик не работает, зашёл через регистрацию. Ещё два дня назад всё работало, и всегда раньше работало.
-Mikle-Дата: Среда, 25 Июля 2012, 09:48 | Сообщение # 106 | Тема: VB 6
Изобретатель велосипедов
Сейчас нет на сайте
Code
Option Explicit

Dim cmdPressed As Boolean
Dim cmdX As Single, cmdY As Single

Private Sub Form_Load()
    ScaleMode = vbTwips
End Sub

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    cmdPressed = True
    cmdX = X
    cmdY = Y
End Sub

Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If cmdPressed Then
      Command1.Move Command1.Left + (X - cmdX), Command1.Top + (Y - cmdY)
      DoEvents
    End If
End Sub

Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    cmdPressed = False
End Sub

Если ScaleMode формы неудобно держать в твипах, нужно добавить коэффициенты, например, для vbPixels:
Code
    Command1.Move Command1.Left + (X - cmdX) / Screen.TwipsPerPixelX, _
                    Command1.Top + (Y - cmdY) / Screen.TwipsPerPixelY


Сообщение отредактировал -Mikle- - Среда, 25 Июля 2012, 09:50
-Mikle-Дата: Среда, 25 Июля 2012, 09:57 | Сообщение # 107 | Тема: Помогите мне с Visual Basic-ом 6.0
Изобретатель велосипедов
Сейчас нет на сайте
vikusya1298,
Quote
Dim answer As String

anser = MsgBox (Действительно завершить работу?", _
" Завершение работы "

Написано "anser" вместо "answer", опечатка.
Quote
Просто в Basic нет точки с запятой, т.е. одна строка - одна команда

В бейсике команды разделяются двоеточием.
-Mikle-Дата: Среда, 25 Июля 2012, 11:58 | Сообщение # 108 | Тема: VB 6
Изобретатель велосипедов
Сейчас нет на сайте
Quote (Andrei543)
можно ли сделать прозрачность PictureBox?

Нет, можно на ImageBox, но не настоящую прозрачность с полупрозрачными местами, а ColorKey. Но если на этом делать игру, будет раздражать мерцание при перемещении ImageBox-ов.
Для простых игр на VB6 можно посмотреть это:
http://gcup.ru/forum/74-18355-1
-Mikle-Дата: Среда, 25 Июля 2012, 15:35 | Сообщение # 109 | Тема: VB 6
Изобретатель велосипедов
Сейчас нет на сайте
Quote (Andrei543)
Щяс посмотрел, с кнопкой всё нормально, а вот PictureBox двигаться не хочет

Всё прекрасно работает, правильно впиши в код Picture1 везде вместо Command1, или так и назови свой PictureBox - Command1.
Quote (Andrei543)
ImageBox в vb 6 найти не могу

Просто "Image" называется.
-Mikle-Дата: Вторник, 07 Августа 2012, 12:05 | Сообщение # 110 | Тема: Где можно скачать VB6 для виндовс 7 x32?
Изобретатель велосипедов
Сейчас нет на сайте
Extrimmer, отключи аеро, ставь из-под админа. VB6 в семёрке работает, даже в x64. Есть конфликты среды с аеро, но это устраняемо. Специального выпуска VB6 под Win7 нет и не будет, он больше не поддерживается. Почитай тут:
Тема
-Mikle-Дата: Суббота, 11 Августа 2012, 09:56 | Сообщение # 111 | Тема: Помощь в обучение DirectX на VB 6
Изобретатель велосипедов
Сейчас нет на сайте
Тихий, "Здесь будут выкладываться статьи" - это сильно сказано. Я уже создал тему, где есть ссылки на статьи.
Я жду подготовленных вопросов, готов на них отвечать. Подготовленных в том смысле, что это должны быть общие вопросы по использованию DX в VB6, а не вопросы вида "моя игра почему-то не работает, вот код, ПАМАГИТЕ!!!"


Сообщение отредактировал -Mikle- - Суббота, 11 Августа 2012, 09:58
-Mikle-Дата: Суббота, 11 Августа 2012, 14:52 | Сообщение # 112 | Тема: Обновления на VB6
Изобретатель велосипедов
Сейчас нет на сайте
Шестой сервиспак для VB6:
SP6
-Mikle-Дата: Суббота, 11 Августа 2012, 15:42 | Сообщение # 113 | Тема: Обновления на VB6
Изобретатель велосипедов
Сейчас нет на сайте
Quote (DasTem)
что это?!

У тебя непонятно написано. Я сначала подумал, что нужно обновить сам VB6.
-Mikle-Дата: Воскресенье, 12 Августа 2012, 11:10 | Сообщение # 114 | Тема: Помощь в обучение DirectX на VB 6
Изобретатель велосипедов
Сейчас нет на сайте
Можно, только смысла не вижу, на XP это не заработает, а на Висте-Семёрке уже предустановлен нет-фреймворк, лучше пользоваться vb.net + какой-нибудь SlimDX или SharpDX в качестве порта для DirectX.
-Mikle-Дата: Понедельник, 13 Августа 2012, 10:50 | Сообщение # 115 | Тема: Помощь в обучение DirectX на VB 6
Изобретатель велосипедов
Сейчас нет на сайте
Если действительно хорошо владеешь VB6, то перейдёшь быстро, и должно понравиться.
-Mikle-Дата: Вторник, 14 Августа 2012, 16:28 | Сообщение # 116 | Тема: Помощь в обучение DirectX на VB 6
Изобретатель велосипедов
Сейчас нет на сайте
Ответы на такие вопросы легко гуглятся. Можно гуглить C# вместо vb.net, на C# больше примеров.
Но использовать не ООП API из "насквозь пропитанного" ООП языка мне кажется идеологически неверным и неудобным.
-Mikle-Дата: Пятница, 17 Августа 2012, 10:54 | Сообщение # 117 | Тема: С чего начать?
Изобретатель велосипедов
Сейчас нет на сайте
Quote (nilrem)
Бейсик кошмарный, и несмотря на то, что когда-то я начинал как раз с него (qbasic), учить не советую, так как он никому нафиг не нужен, а по синтаксису очень далек он основных современных языков

Зачем глупости писать? Бейсик с момента своего появления развивался и изменялся больше любого другого ЯП. Это наиболее "человеческий" из всех ЯП. Не даром большая часть игровых конструкторов имеют бейсикоподобный синтаксис. vb.net и C# - фактически одно и то же, только на бейсике, как правило, код получается компактнее, хотя сами ключевые слова часто длиннее.
Да, бейсик не так распространён, как тот же шарп, виновато предубеждение, возникшее из его названия - язык для начинающих. Но это давно потеряло смысл, и является просто названием.
-Mikle-Дата: Пятница, 17 Августа 2012, 16:17 | Сообщение # 118 | Тема: С чего начать?
Изобретатель велосипедов
Сейчас нет на сайте
DeusEx-12, хотел плюсануть, да не работают скрипты под восьмым эксплорером после последней переделки сайта. Полностью согласен.
-Mikle-Дата: Суббота, 18 Августа 2012, 13:58 | Сообщение # 119 | Тема: С чего начать?
Изобретатель велосипедов
Сейчас нет на сайте
Quote (PBPROG)
Без указателей сложно разрабатывать более или менее сложную программу и приходится реализовывать некоторые вещи через одно место.

Вот как раз указатели - это и есть то самое "одно место" в языке высокого уровня. Не нужны они тут, они ОПАСНЫ.
Quote (PBPROG)
Не напрягает ли необходимость декларации в VB всего что связано с WinAPI? Не возникает ли мыслей что хорошо бы если об это позаботились разработчики VB и тем самым упростив создание программ и исключив возможные ошибки при декларации?

А разработчики, между прочим, позаботились - в состав дистрибутива VB6 входит API декларатор, где уже есть объявления функций, констант и структур.


Сообщение отредактировал -Mikle- - Суббота, 18 Августа 2012, 14:00
-Mikle-Дата: Воскресенье, 19 Августа 2012, 10:19 | Сообщение # 120 | Тема: С чего начать?
Изобретатель велосипедов
Сейчас нет на сайте
Quote (zodiak)
И вопрос фанам vb, есть на нем хорошие игры?

Их нет потому, что никто не пытался их делать. Есть демки (в основном мои), которые доказывают, что их сделать МОЖНО. Один из примеров:
Статья
И этот же вопрос можно переадресовать на C#, кстати. И заметь, я не опускаю C#, я считаю, что он отлично подходит для написания игр под Windows, но индустрия очень неповоротлива.
Конечно, если хочешь устроиться программистом в гейм-индустрию, то ПРИДЁТСЯ осваивать C++, и то, есть исключения.
Quote (zodiak)
Если сами что-то не осилили, то это не значит что другие столь же "умные". Я начинал с С++ и особых сложностей в обучении не встретил.

А вот это очень похоже на попытку опустить других и поднять ЧСВ. Если я считаю ЯВУ более подходящими для написания основного игрового кода, это ещё не значит, что я что-то не осилил. Для 3D я сейчас в основном пользуюсь dx_vb, для 2D - SR2D. И то, и другое я написал на C++, а SR2D большей часть на асм-вставках. И написал я это для того, чтобы можно было писать игры на комфортном VB6. Я не скажу, конечно, что хорошо знаю C++, просто знаний ДОСТАТОЧНО для написания таких портов/движков, но почему-то меня не тянет всю игру писать на C++.
А тем более - обучение новичков. Если сразу давать C++, то придётся про большую часть вещей говорить "пиши так, а почему - поймёшь гораздо позже, а этим пока вообще не пользуйся, всё равно не сможешь, пока не поймёшь". Для знакомства с нижним уровнем, уже ПОСЛЕ освоения какого-нибудь ЯВУ, можно давать чистый C.
VB6, конечно, устарел, но, как показывают тесты, всё ещё конкурентноспособен. А уж для обучения - тем более, настолько гибкой и удобной отладки нет даже в vb.net и C#. А если брать чисто для обучения без серьёзного практического применения, то можно вообще выбрать Small Basic, он специально создан для начального обучения и уж в Microsoft постарались, чтобы он был прост и удобен, и ДАВАЛ ПРЕДСТАВЛЕНИЕ О ПРОГРАММИРОВАНИИ.


Сообщение отредактировал -Mikle- - Воскресенье, 19 Августа 2012, 10:21
Форум игроделов » Записи участника » -Mikle- [196]
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг