Thứ tư, ngày 7 tháng 12 năm 2016

Bài 1: Hiện thị màu nền

Ngày đăng: 18/9/2012, 9:12:3PM | Lượt xem: 3,179
Hot!

  Như các bạn đã biết hiện nay có rất nhiều framework để lập trình game cho hệ điều hành Android. Trong đó thì có 2 framework đang phát triển tại nước ta là E3droid và AndEngine. Cả 2 framework này đều có những ưu và nhược khác nhau. Mình đã nghiên cứu E3droid cũng được kha khá nhưng E3droid nay không được hỗ trợ nhiều, cộng đồng không đông lắm nên mình chuyển qua AndEngine. Mình đọc trên diễn đàn thì thấy mọi người rất thích lập trình game. Nhưng khó khăn mà các bạn mới học là không có tài liệu hướng dẫn, không có những bài phân tích cụ thể. Để giúp các bạn làm quen với framework này mình xin viết lại những gì mình học được, mong rằng những bài viết này sẽ giúp các bạn có thêm tài liệu để nghiên cứu. Chúc các bạn sẽ thành công với hướng đi lập trình game trên mobile.

  Bài đầu tiên cũng là một khó khăn đối với nhiều người, muốn chạy được ví dụ AndEngine cũng không đơn giản, các bạn có thể lên mạng copy bài ví dụ của nó nhưng thường không chạy được. Bài này mình hướng dẫn các bạn fix các lỗi thường gặp để chương trình có thể chạy được. Bài viết hướng dẫn này mình viết cho những bạn đã biết cách add thư viện, tạo project. Không hướng dẫn các bạn những điều đó nữa nó quá đơn giản rồi, mong các bạn hiểu cho điều đó.

Đầu tiên chúng ta cần có thư viện andengine.jar đã, thư viện này có thể download trên trang web của Andengine. Các bạn download thư viện tại link sau: 
http://www.mediafire.com/?ee7sn2bem36297vhttp://wiki.andengine.org/AndEngine_Jars. Ngoài ra các bạn có thể tải thư viện tại địa chỉ sau: https://docs.google.com/file/d/0Bx5t...JeXNHdlE/edit.

Vậy ta đã có thư viện rồi. Tiếp tục ta tạo ra 1 project với tên tùy ý, mình lấy ví dụ là : TestAndengine, khi tạo xong project rồi thì ta tạo thêm 1 thư mục có tên là libs, bạn copy cái thư viện vừa download về vào thư mục này. Tiếp theo là bạn chọn vào file thư viện rồi add vào để chương trình có thể gọi được.

Ok. Giờ ta sẽ xem code.

package TestAndengine.Gioi; 

import org.anddev.andengine.engine.Engine; 
import org.anddev.andengine.engine.camera.Camera; 
import org.anddev.andengine.engine.options.EngineOptions; 
import org.anddev.andengine.engine.options.EngineOptions.ScreenOrientation; 
import org.anddev.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy; 
import org.anddev.andengine.entity.scene.Scene; 
import org.anddev.andengine.entity.scene.background.ColorBackground; 
import org.anddev.andengine.ui.activity.BaseGameActivity; 

import android.os.Bundle; 

public class TestAndengineActivity extends BaseGameActivity { 
    //Khai báo thêm 2 biến quan trọng 
    private Camera MyCamera;//Biến này thường để cấu hình màn hình 
    private Scene MyScene;//Quản lý những gì bạn vẽ. 
     
    private int WIDTH = 320; 
    private int HEIGHT = 480; 
     
     
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
    } 

    @Override 
    public Engine onLoadEngine() { 
        //Khởi tạo vùng hiện thị là 320*480 
        this.MyCamera = new Camera(0, 0, WIDTH, HEIGHT); 
        //Yêu cầu màn hình hiện thị nằm ngang thì ScreenOrientation.LANDSCAPE 
        Engine engine =     new Engine(new EngineOptions(true, ScreenOrientation.PORTRAIT, 
                    new RatioResolutionPolicy(WIDTH, HEIGHT), 
                    this.MyCamera)); 
        return engine; 
    } 

    @Override 
    public void onLoadResources() { 
        // TODO Auto-generated method stub 
         
    } 

    @Override 
    public Scene onLoadScene() { 
        MyScene = new Scene(); 
        MyScene.setBackground(new ColorBackground(0.09804f, 0.6274f, 0.8784f)); 
        return MyScene;     
    } 

    @Override 
    public void onLoadComplete() { 
        // TODO Auto-generated method stub 
         
    } 
}  

Code rất đơn giản thôi nhưng nhiều bạn không chạy được. Giờ ta cần thêm 1 quyền nữa. 

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="TestAndengine.Gioi" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk android:minSdkVersion="8" /> 
     
    <!-- Cái mà ta cần thêm vào là dòng này --> 
    <uses-permission android:name="android.permission.WAKE_LOCK"/> 
     
    <application 
        android:icon="@drawable/ic_launcher" 
        android:label="@string/app_name" > 
        <activity 
            android:name=".TestAndengineActivity" 
            android:label="@string/app_name" > 
            <intent-filter> 
                <action android:name="android.intent.action.MAIN" /> 

                <category android:name="android.intent.category.LAUNCHER" /> 
            </intent-filter> 
        </activity> 
    </application> 

</manifest>

iờ các bạn có thể chạy được ngay rồi đó. Kêt quả sẽ hiện thị một màn hình nền màu xanh.

Các bạn có thể download mã nguồn tại đây: Download

Hoặc 

https://docs.google.com/file/d/0Bx5tGurBgK2eTU02YkxUOHFZeUE/edit
theo vietandroid
 Chia sẻ qua: 
Hot!
Ý kiến bạn đọc

These items will be permanently deleted and cannot be recovered. Are you sure?

Gallery

image

Maecenas viverra rutrum pulvinar

Maecenas viverra rutrum pulvinar! Aenean vehicula nulla sit amet metus aliquam et malesuada risus aliquet. Vestibulum rhoncus, dolor sit amet venenatis porta, metus purus sagittis nisl, sodales volutpat elit lorem…

Read more

Text Links

Thiết kế logo chuyên nghiệp Insky
DAFABET
W88 w88b.com/dang-ky-tai-khoan-w88
W88
Copyright © 2011 - 2012 vietshare.vn by phamkhuong102@gmail.com doanhkisi2315@gmail.com. All rights reserved.