AWT (Abstract Window Toolkit) ব্যবহার করে একটি Simple Animation তৈরি করা যায়। আপনি একটি কম্পোনেন্টকে ধীরে ধীরে স্থানান্তরিত বা সরাতে পারেন, এবং এটি ফ্রেমে চলমান অবস্থায় দেখানো যাবে। সাধারণত, Thread ব্যবহার করা হয় অ্যানিমেশন পরিচালনার জন্য, যাতে আপনার অ্যানিমেশন স্লো বা দ্রুত চলতে পারে, এবং প্রতি ফ্রেমে কম্পোনেন্টের অবস্থান আপডেট করা যায়।
এখানে একটি Simple Animation উদাহরণ দেওয়া হল, যেখানে একটি বক্স ধীরে ধীরে এক জায়গা থেকে অন্য জায়গায় চলে যাবে:
উদাহরণ: Simple Animation তৈরি
import java.awt.*;
import java.awt.event.*;
public class SimpleAnimationExample extends Frame implements Runnable {
int x = 50; // বক্সের শুরু অবস্থান
int y = 100;
Thread animationThread;
public SimpleAnimationExample() {
// ফ্রেম সেটআপ
setTitle("Simple Animation Example");
setSize(500, 300);
setVisible(true);
// উইন্ডো ক্লোজের জন্য ইভেন্ট হ্যান্ডলিং
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
// থ্রেড শুরু
animationThread = new Thread(this);
animationThread.start();
}
// অ্যানিমেশন লজিক
public void run() {
while (true) {
// বক্সের অবস্থান আপডেট করা
x += 2;
if (x > getWidth()) {
x = 50; // বক্সটি যদি ফ্রেমের ডান দিকে চলে যায়, তাহলে বক্সটি বামদিকে ফিরে আসবে
}
// অ্যানিমেশন রিফ্রেশ করা
repaint();
try {
Thread.sleep(20); // স্লো অ্যানিমেশন, 20 মিলিসেকেন্ড পর পর আপডেট হবে
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
// ফ্রেমে বক্স আঁকা
public void paint(Graphics g) {
g.setColor(Color.BLUE); // বক্সের রঙ
g.fillRect(x, y, 50, 50); // বক্স আঁকার জন্য ফিল রেকটেঙ্গেল
}
public static void main(String[] args) {
new SimpleAnimationExample();
}
}
কোডের ব্যাখ্যা:
- Thread ব্যবহারের মাধ্যমে অ্যানিমেশন:
Threadতৈরি করা হয়েছে এবংrun()মেথডে অ্যানিমেশন লজিক রাখা হয়েছে।xভেরিয়েবলটির মান প্রতি ফ্রেমে বাড়ানো হয়, যাতে বক্সটি স্ক্রিনে এক জায়গা থেকে অন্য জায়গায় চলে যায়।Thread.sleep(20)দিয়ে অ্যানিমেশনটির গতি নিয়ন্ত্রণ করা হয়েছে, যাতে বক্সটি খুব দ্রুত না চলে যায়।
- paint() মেথড:
paint(Graphics g)মেথডে বক্সটি আঁকা হচ্ছে।g.fillRect(x, y, 50, 50)এর মাধ্যমে ৫০x৫০ পিক্সেলের একটি নীল রঙের বক্স স্ক্রীনে আঁকা হচ্ছে।
- Frame এবং Window Listener:
setSize(500, 300)দিয়ে ফ্রেমের সাইজ নির্ধারণ করা হয়েছে।addWindowListener()দিয়ে ফ্রেমটি ক্লোজ করার জন্য একটি ইভেন্ট হ্যান্ডলার যুক্ত করা হয়েছে।
ফলাফল:
- যখন আপনি কোডটি রান করবেন, একটি নীল রঙের বক্স ধীরে ধীরে ফ্রেমের বাম থেকে ডান দিকে চলতে থাকবে। বক্সটি যখন স্ক্রীনের ডান দিকে পৌঁছাবে, তখন তা আবার বাম দিকে ফিরে আসবে এবং চলতে থাকবে।
এই কোডটি খুবই সিম্পল এবং প্রাথমিক অ্যানিমেশন তৈরি করে, কিন্তু আপনি আরো উন্নত অ্যানিমেশন তৈরি করতে বিভিন্ন ইফেক্ট যেমন রোটেশন, স্কেলিং বা অন্যান্য গ্রাফিকাল অ্যানিমেশন যোগ করতে পারেন।
Read more