Шаг 6 - Пробуем первую анимацию

Тот овал, который мы создали в прошлом шаге, мы заставим двигаться. Для этого нужен объект трансформации. Этот объект нужно приложить к объекту изображения и получить новый объект изображения, который уже передать элементу управления. Выбирая функцию создания трансформации нужно понимать одну маленькую тонкость. Приставка Rate заставит объект двигаться непрерывно.

Функция трансформации – просто одна трансформация
Функция транформацииRate – непрерывная трансформация

Вот что у нас получится. Только в реальной анимации все будет намного плавней.

6_1.gif (7369 b)

HTML&JScript
Visual Basic
Visual C++

HTML&JScript

Создадим объект трансформации, применим к овалу, передадим элементу управления.

<SCRIPT language=JScript>
	mDAStatics = DAControl.PixelLibrary;
	myImg = mDAStatics.SolidColorImage(mDAStatics.Red);
	myOval=mDAStatics.Oval(50,80).Fill(mDAStatics.DefaultLineStyle,myImg);
	myrot = mDAStatics.Rotate2Rate(1.5);
	myfinal = myOval.Transform(myrot);	
	DAControl.Image = myfinal; 
	DAControl.Start();
</SCRIPT>

Visual Basic

Объявим необходимые переменные:

Dim myRot As DATransform2
Dim myFinal As DAImage
Dim mOValImage As DAImage
Dim mDAImage As DAImage
Dim mDAStatics  As DAStatics

Создадим объект трансформации, применим к овалу, передадим элементу управления:

Private Sub Form_Load()
Set mDAStatics = DAViewerControl1.PixelLibrary
Set mDAImage = mDAStatics.SolidColorImage(mDAStatics.Red)
Set mOValImage = mDAStatics.Oval(50, 80).Fill(mDAStatics.DefaultLineStyle, mDAImage)
Set myRot = mDAStatics.Rotate2Rate(1.5)
Set myFinal = mOValImage.Transform(myRot)
DAViewerControl1.Image = myFinal
DAViewerControl1.Start
End Sub

Visual C++

Подключаем описание класса трансформации:

.........
#include "dastatics.h"
#include "daimage.h"
#include "dacolor.h"
#include "dalinestyle.h"
#include "dapath2.h"
#include "datransform2.h"
..........

Объявим необходимые переменные:

class CVCDlg : public CDialog
{
// Construction
public:
	CVCDlg(CWnd* pParent = NULL);	// standard constructor
	CDAStatics mDAStatics;
	CDAImage mCDAImage;
	CDAImage mOvalImage;
	CDAImage mFinalImage;
	CDATransform2 mTransform;
	CDAColor mCDAColor;
	CDALineStyle mDALineStyle;
	// Dialog Data
	//{{AFX_DATA(CVCDlg)
	..............
};

Создадим объект трансформации, применим к овалу, передадим элементу управления.

.......
	// TODO: Add extra initialization here
	mDAStatics=m_DirectControl.GetPixelLibrary(); 
	mCDAColor = mDAStatics.GetRed();
	mCDAImage=mDAStatics.SolidColorImage(mCDAColor); 
	mDALineStyle = mDAStatics.GetDefaultLineStyle(); 
	mOvalImage=mDAStatics.Oval(50,80).Fill( mDALineStyle ,mCDAImage);
	mTransform=mDAStatics.Rotate2Rate(1.5);
	mFinalImage=mOvalImage.Transform(mTransform); 
	m_DirectControl.SetImage( mFinalImage);
	m_DirectControl.Start(); 
	return TRUE;  // return TRUE  unless you set the focus to a control
}

Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 17.05.2002