Để đưa ra ý tưởng game thì nhiều nhưng viết ra thì không dễ chút nào. Dưới đây là một ví dụ game hết sức đơn giản để giúp các bạn học tốt hơn trong lập trình game.
Hiện tại các bạn có thể download game này để test trên Vimarket với đường link sau: Game đua xe đơn giản
- (Player) Người chơi sẽ điều khiển 1 chiếc ô tô. Chiếc ô tô này có thể chạy sang trái hoặc sang phải (không chạy lên, xuống). Để điều khiển oto này thì ta chỉ cần nghiêng màn hình sang bên nào thì oto chạy sang bến đó.(sử dụng bộ cảm biến).
- (Car) Các ô tô khác sẽ di chuyển ngẫu nhiên trên màn hình (Ngẫu nhiên ở đây là ô tô xuất hiện ở các làn đường ngẫu nhiên, khi rẽ trái hoặc rẽ phải ngẫu nhiên). Các xe ô tô này sẽ di chuyển từ trên xuống dưới.
- Khi mỗi Car mà di chuyển hết màn hình thì ta cộng thêm điểm cho người chơi, điểm người chơi được hiện thị ở góc trên bên trái màn hình.
- Trên màn hình khi chơi ta hiện thị thêm 2 phần:
- Khi Player va chạm với 1 Car nào đó thì trò chơi kết thúc.
- Để cho đồ họa có gì đó thêm phần hấp dẫn ta sẽ tạo ra khói đằng sau xe của Player.
- Tại phần setting thì ta chỉ cho thiết lập âm lượng của game.
- Khi gameover ta lưu số điểm của người chơi lại.(Vì còn đơn giản nên ta lưu dữ liệu dạng file).
- Khi hiện thị điểm người chơi ta chỉ hiện thị 5 người đạt điểm cao nhất và sắp xếp giảm dần.
- Có thể reset lại điểm.
<?xml version=”1.0″ encoding=”utf-8″?>
<RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”>
<VideoView android:id=”@+id/videoView”
android:layout_width=”fill_parent”
android:layout_alignParentRight=”true”
android:layout_alignParentLeft=”true”
android:layout_alignParentTop=”true”
android:layout_alignParentBottom=”true”
android:layout_height=”fill_parent”>
</VideoView>
</RelativeLayout>
http://youtu.be/w0kHDeJe1K0
Lớp này có tên là GamePlayActivity.java
package GamePlay.Gioi;
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.net.Uri;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.VideoView;public class GamePlayActivity extends Activity implements OnCompletionListener,
OnTouchListener {private VideoView v;
private Intent i;// —————————————————————————-
@Override
public void onCreate(Bundle savedInstanceState) {
Control.init(this);// Khi play thì khởi tạo lại các biến tĩnh// Sét full màn hình
requestWindowFeature(Window.FEATURE_NO_TITLE);// Không hiện thị tiêu đề
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);// Fullscreen
super.onCreate(savedInstanceState);
setContentView(R.layout.gioithieu);// Hiện thị dòng chữ để thông báo cho người dùng biết khi chạm vào màn
// hình thì bỏ qua phần giới thiệu này.
Tools.senMessenger(this, “Touch Skip”);v = (VideoView) findViewById(R.id.videoView);
Uri u = Uri.parse(“android.resource://” + getPackageName() + “/”
+ R.raw.video);// Lấy video từ thư mục raw
v.setVideoURI(u);
v.setOnCompletionListener(this);// Khi video đã chạy xong
v.setOnTouchListener(this);// Khi chạm vào màn hình
v.setKeepScreenOn(true);// Khi hiện thị video thì không cho tự động tắt
// màn hình
v.start();// Khởi tạo intent mà ta muốn chuyển sang sau khi video chơi xong
i = new Intent(this, Menu.class);
}// —————————————————————————-
public void onCompletion(MediaPlayer arg0) {
// Khi video chạy xong thì ta dựng lại và chuyển sang phần game
this.startActivity(i);
finish();// Kết thúc Intent
}// —————————————————————————-
public boolean onTouch(View arg0, MotionEvent arg1) {
// Khi người chạm vào màn hình.
this.startActivity(i);
finish();// Kết thúc Intent
return false;
}
}