Помогите повернуть спрайт!!

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

Ivan76
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 12.08.2010 (Чт) 15:29

Помогите повернуть спрайт!!

Сообщение Ivan76 » 15.08.2010 (Вс) 17:00

Используется функция Sprite.Draw2D
При задании центра вращения спрайт устанавливается в позицию с координатами (0,0) что делать?
Может можно как-нибудь двигать матрицу??

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Помогите повернуть спрайт!!

Сообщение FireFenix » 15.08.2010 (Вс) 17:29

Ivan76 писал(а):Sprite.Draw2D

Откуда функция? с потолка? c MDX? OGL?

http://www.google.ru -> Sprite.Draw2D -> вагон ссылок

1ая ссылка msdn -> http://msdn.microsoft.com/en-us/library/ms881033.aspx
2ая ссылка -> http://www.cyberforum.ru/csharp-beginne ... 56021.html
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Ivan76
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 12.08.2010 (Чт) 15:29

Re: Помогите повернуть спрайт!!

Сообщение Ivan76 » 15.08.2010 (Вс) 17:52

А примеров с vb.net 2008 нет??

Ivan76
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 12.08.2010 (Чт) 15:29

Re: Помогите повернуть спрайт!!

Сообщение Ivan76 » 15.08.2010 (Вс) 17:58

Вот код:
Код: Выделить всё
Sprite = New Direct3D.Sprite(Me.mDevice)
        Sprite.Transform = Matrix.Identity

вот рендеринг спрайта:
Код: Выделить всё
  Me.Sprite.Begin(Direct3D.SpriteFlags.AlphaBlend)
            Me.Sprite.Draw2D(Texture1, New Point(100, 100)*, 45, New Point(100, 100**), Color.White)
            Me.Sprite.End()


когда центр вращения* совпадает с позицией спрайта** то он скачет в верхний левый край экрана..

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Помогите повернуть спрайт!!

Сообщение FireFenix » 15.08.2010 (Вс) 18:09

что за фантомные знаки *?
Угол поворота указывается в радианах, а не в градусах
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Ivan76
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 12.08.2010 (Чт) 15:29

Re: Помогите повернуть спрайт!!

Сообщение Ivan76 » 15.08.2010 (Вс) 18:14

Зачем придираться если помочь не можешь?

SergeyZuzic
Новичок
Новичок
 
Сообщения: 28
Зарегистрирован: 20.03.2009 (Пт) 14:36

Re: Помогите повернуть спрайт!!

Сообщение SergeyZuzic » 21.08.2010 (Сб) 9:08

Попробуй по формуле
Код: Выделить всё
XC=100
YC=100
(XC + Cos(i / 360) * 4 * Atn(1) * XC, YC + Sin(i / 360) * 4 * Atn(1) * YC)


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList