Animasi
adalah salah satu elemen multimedia yang memang sangat menarik, Sebab, ia mampu
membuat sesuatu seolah-olah bergerak. Padahal animasi adalah rangkaian sejumlah
gambar yang ditampilkan secara bergantian. Animasi tidak hanya berguna untuk
film saja.Dalam dunia situs web, animasi digunakan untuk memberikan sentuhan
manis pada situs. Bahkan bagi dunia pendidikan, animasi juga dapat digunakan
sebagai alat bantu untuk menjelaskan sesuatu agar orang yang diajar bias lebih
memahami maksud suatu konsep.
Kata
“animasi` sebenarnya adalah penyesuaian dari kata “animation”, yang berasal
dari kata dasar “to animate” yang dalam kamus umum Inggris-Indonesia berarti
“menghidupkan”. Secara umum, animasi merupakan suatu kegiatan menghidupkan atau
menggerakkan benda mati. Maksudnya, sebuah benda mati diberikan dorongan
kekuatan, semangat, dan emosi untuk menjadi hidup dan bergerak atau hanya
berkesan hidup.
Animasi pada open GL yang bergerak adalah koordinatnya (frame
rate). Animasi didalam open GL yaitu menggunakan fungsi timer.
GLUTAPI void APIENTRY glutTimerFunc(unsignedint
millis, void (GLUTCALLBACK *func)(int value), int
value);
Dalam penggunaan
glutTimerFunc dimungkinkan untuk membuat sebuah animasi yang dikontrol oleh waktu.
Perbandingan waktu dengan kecepatan:
Berikut
akan diberikan contoh untuk membuat kapal yang bergerak dari titik 0,0 lalu
bergerak ke arah sumbu x positif lalu berbalik ke sumbu x negatif.
Pertama
kita buat bentuk kapal terlebih dahulu
void Kapal()
{
glBegin(GL_QUADS);
glColor3f
(1,0.5,0.5);
glVertex2i
(-75, 50);
glVertex2i
(75, 50);
glVertex2i
(50, 0);
glVertex2i
(-50, 0);
glEnd();
}
Kapal dibuat dengan menggunakan GL_QUADS karena memiliki 4
titik, bangunnya seperti trapesium sama kaki.
Lalu kita buat layarnya agar terlihat
seperti kapal dengan menggunakan GL_TRIANGLES, scriptnya seperti dibawah ini
void layar ()
{
glBegin(GL_TRIANGLES);
glVertex2i
(0,50);
glVertex2i
(0,90);
glVertex2i
(50,70);
glEnd();
}
Lalu kita buat lautnya agar terlihat
biru seperti berada diatas air , dengan menggunakan GL_QUADS, scriptnya seperti
dibawah ini
void Laut ()
{
glBegin(GL_QUADS);
glVertex2i
(-320, 0);
glVertex2i
(320,0 );
glVertex2i
(320, -320);
glVertex2i
(-320, -320);
glEnd();
}
Lalu untuk menggerakkan kapalnya
digunakan fungsi timer.
Untuk lebih jelas berikut script
lengkapnya
#include <stdlib.h>
#include <glut.h>
int r = 0;
int ujung = 0;
void timer (int value)
{
if (r<320 && ujung == 0)
{
r++;
if (r == 320){
ujung
= 1;}
}
else if (ujung == 1
&& r>-320)
{
r--;
if(r==-320){
ujung
= 0;}
}
glutPostRedisplay();
glutTimerFunc(10,timer,0);
}
void Kapal()
{
glBegin(GL_QUADS);
glColor3f
(1,0.5,0.5);
glVertex2i
(-75, 50);
glVertex2i
(75, 50);
glVertex2i
(50, 0);
glVertex2i
(-50, 0);
glEnd();
}
void Laut ()
{
glBegin(GL_QUADS);
glColor3f
(0,1,1);
glVertex2i
(-320, 0);
glVertex2i
(320,0 );
glVertex2i
(320, -320);
glVertex2i
(-320, -320);
glEnd();
}
void layar ()
{
glBegin(GL_TRIANGLES);
glVertex2i
(0,50);
glVertex2i
(0,90);
glVertex2i
(50,70);
glEnd();
}
void renderScene(){
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glTranslatef(r,0,0);
Kapal();
layar();
glPopMatrix();
Laut();
glFlush();
}
void main(int argc, char **argv){
glutInit(&argc,
argv);
glutInitDisplayMode(GLUT_DEPTH
| GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(640,480);
glutCreateWindow("Bias | Mirza");
gluOrtho2D(-320.0,320.0,-320.,320.);
glutDisplayFunc(renderScene);
timer(20);
glutMainLoop();
}
Tampilannya seperti dibawah ini :
Play Slots Casino Game For Real Money at JTG - MissouriHub
BalasHapusThe only place to play 시흥 출장샵 for real money with a real money casino is online slots. 통영 출장샵 From 오산 출장안마 the 청주 출장샵 comfort of your home, to the thrill 용인 출장샵 of spinning slots and