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

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

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

Ответ
 
Опции темы
Старый 18.06.2012, 11:38   #151
Черный крыс
 
Сообщений: n/a
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Не совсем понятен вопрос... а как тебе еще двигать если не по кругу ?
Вектора спасут оца русской демократии
 
Ответить с цитированием
Старый 18.06.2012, 11:52   #152
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Сообщение от Diablo1909 Посмотреть сообщение
Не совсем понятен вопрос... а как тебе еще двигать если не по кругу ?
Вектора спасут оца русской демократии
Не, я не хочу быть отцом ру.демократии.
Надо прицепить партиклы к двигателю корабля. Двигатели находятся по бокам то есть просто по кругу не прокатит, надо как то еще и смещение по x/y высчитывать, но не выходит.
Хотя один человек с ГД.ру подсказал мне решение, но там как то много строк вышло хотя мне казалось что там все просто будет.
(Offline)
 
Ответить с цитированием
Старый 18.06.2012, 12:19   #153
FireOwl
Бывалый
 
Аватар для FireOwl
 
Регистрация: 16.09.2009
Адрес: Sun system
Сообщений: 831
Написано 442 полезных сообщений
(для 1,836 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Это не "И", это решение.
Твой вопрос непонятен.
Два варианта:
1) Корабль летает по кругу. Я нарисовал этот случай.
Вроде:
x,y        // координаты центра его круговой траектории
dx = ...  // сдвиг двигателя относительно центра корабля
= ...    // радиус его траектории
for(a=0;a<x;a+=0.1){
   
ax cos(a)*ray sin(a)*r;
   
mx cos(a+PI/2)*dxmy sin(a+PI/2)*dx;
   
ship.draw(x+axy+ay)
   
particle.add(x+mx+ax ,y+my+ay)

2) Корабль летает сам по себе, направляемый вектором перемещения.
Тогда все вообще элементарно.
__________________
N"Gasta! Kvata! Kvakis!
Ahkstas so novajxletero (oix jhemile) so Ranetauw.
(Offline)
 
Ответить с цитированием
Старый 18.06.2012, 12:47   #154
Черный крыс
 
Сообщений: n/a
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Так в чем вопрос то ?
Не можешь сдвинуть обьект вокруг другого ?
Кури тему про локальные системы координат обьекта, вектора и про систему родитель\ребенок.
 
Ответить с цитированием
Старый 18.06.2012, 18:40   #155
Animan2010
AnyKey`щик
 
Регистрация: 03.01.2012
Сообщений: 11
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

У меня вопрос:
Когда поворачиваешь объект только по горизонтали или по вертикали, всё норм.
Но когда повернёшь объект только по горизонтали и лишь потом по вертикали (ну или наоборот), второй поворот будет происходить немного в другую сторону от ожидаемого, ведь ось чуток сместилась.
Как сделать так, чтобы объект поворачивался в нужную сторону вне зависимости от того, куда он уже повёрнут?
(Offline)
 
Ответить с цитированием
Старый 18.06.2012, 19:59   #156
Черный крыс
 
Сообщений: n/a
Ответ: Вопрос-Ответ (для новичков BlitzMax)

в 2D-графике нет поворотов по горизонтали\вертикали. здесь только одна ось.
 
Ответить с цитированием
Старый 18.06.2012, 20:47   #157
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

2) Корабль летает сам по себе, направляемый вектором перемещения.
Тогда все вообще элементарно.
Типа так только он (корабль) за мышкой летает. Не могу я в этом разобраться все таки.
(Offline)
 
Ответить с цитированием
Старый 22.06.2012, 14:52   #158
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Nex, вроде как FireOwl и Diablo1909 норм написали. Я своими словами допишу. У тебя есть корабль, у корабля есть центр, относительно которого он вращается при повороте. Тебе нужно определить dx dy смещения от центра вращения корабля до двигателей в неповёрнутом положении корабля. Зная их, сможешь найти угол наклона гипотенузы, эта гипотенуза и есть радиус вращения, её тоже найдёшь через дх ду. Получишь набор начальных углов и радиусов - от центра вращения корабля до двигателей. Далее при вращении корабля на такой же угол изменяешь значения начальных углов двигателей. Через углы и радиусы находишь смещения дх и ду - это локальные координаты двигателей относительно центра корабля. Потом при отрисовке прибавляешь к ним координаты центра корабля и получаешь глобальные обычные координаты рисования.
(Offline)
 
Ответить с цитированием
Старый 22.06.2012, 14:54   #159
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Для погони за мышкой нужно просто вращать корабль на небольшой угол до тех пор, пока он носом не будет смотреть в направлении мышки, и одновременно двигать его вперёд, чтобы разворот был по дуге, а не на месте.
(Offline)
 
Ответить с цитированием
Старый 16.07.2012, 19:56   #160
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Как убрать у окна обводку и кнопки? И можно ли как нибудь добавить иконку в трей?

Как то вот так хочу сделать:
Нажмите на изображение для увеличения
Название: 789.png
Просмотров: 900
Размер:	32.6 Кб
ID:	17191
(Offline)
 
Ответить с цитированием
Старый 17.07.2012, 03:50   #161
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Неужели никто не знает?
(Offline)
 
Ответить с цитированием
Старый 17.07.2012, 11:31   #162
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Это вопрос по БМаксу или по WinGUI?
(Offline)
 
Ответить с цитированием
Старый 17.07.2012, 12:10   #163
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

Не знаю. Я еще не разобрался. Думал сами поймете и скажете куда смотреть..
(Offline)
 
Ответить с цитированием
Старый 17.07.2012, 15:03   #164
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,853 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

1) Припашем виндовые WinApi ф-ции
Extern "Win32"
    
Function SetWindowRgn(hWndhRgnbRedraw)
    Function 
CreateRectRgn(nLeftRectnTopRectnRightRectnBottomRect)
    Function 
CombineRgn(hrgnDesthrgnSrc1hrgnSrc2fnCombineMode)
End Extern 
2) Эта фция принимает на вход
hWnd - хендл окна
Skin - пиксельная карта
Function SkinWindowII(hWnd:Int Skin:TPixmap)
    Const 
NOTHING=-1
    Local RectRgn 
CreateRectRgn(0000)
    
Local X% , Y% , StartX% , argb:Long
    
    
For Y=0 Until Skin.Height
        
For X=0 Until Skin.Width
        
            argb 
ReadPixel(skinXY)         
            If (
argb <> NOTHING)
                If 
StartX = -1
                    StartX 
X
                
EndIf
            Else
                If 
StartX > -
                    Local MaskLine
                    MaskLine 
CreateRectRgnStartX Y+)
                    
CombineRgn RectRgn RectRgnMaskLine )
                    
DeleteObject MaskLine
                    StartX 
= -1
                
EndIf
            EndIf
        
Next
        
If StartX > -
            Local MaskLine
            MaskLine 
CreateRectRgnStartX YY+)
            
CombineRgn RectRgn RectRgn MaskLine)
            
DeleteObject MaskLine
            StartX 
= -1
        
EndIf
    
Next
    SetWindowRgn 
hWnd RectRgn True)
End Function 
Думаю хендл окна ты получить сможешь сам.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Nex (18.07.2012)
Старый 31.07.2012, 07:11   #165
PackegerX
Нуждающийся
 
Аватар для PackegerX
 
Регистрация: 15.01.2010
Сообщений: 58
Написано 13 полезных сообщений
(для 34 пользователей)
Ответ: Вопрос-Ответ (для новичков BlitzMax)

почему когда я компилирую проект второй раз в консоли пишется:
G:/BlitzMax/bin/ld.exe: cannot open output file F:/Dropbox/Magnavem/BlitzMax/1.2_pixelmap/New file.exe: Permission denied
отключил дропбокс, антивируса нет, UAC отключен (в нижнем положении).
Если удалять ехешник, то он снова появляется. Иногда пишет, что заблокировано процессом "System". Жду около минуты и снова могу компилировать нормально. Что делать пасаны?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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