Danh mục

XÂY DỰNG BẢN ĐỒ TRÊN ĐIỆN THOẠI DI ĐỘNG CÓ HỖ TRỢ JAVA - 4

Số trang: 17      Loại file: pdf      Dung lượng: 539.90 KB      Lượt xem: 15      Lượt tải: 0    
Hoai.2512

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Chương 2 : Giới thiệu khái quát về chuẩn J2MEhành động của nhân vật cũng như quản lý đồ họa. Việc này sẽ làm tăng kích thước file của sản phẩm cũng như việc xuất hiện các đoạn mã bị lỗi. Được hưởng lợi nhất từ Game API trong MIDP 2.0 không chỉ là các lập trình viên Game mà còn là các lập trình viên cần sử dụng các tính năng đồ họa cao cấp. • Ý tưởng cơ bản của Game API là việc giả định rằng một màn hình game là tập hợp các layer (lớp). Ví...
Nội dung trích xuất từ tài liệu:
XÂY DỰNG BẢN ĐỒ TRÊN ĐIỆN THOẠI DI ĐỘNG CÓ HỖ TRỢ JAVA - 4Chương 2 : Giới thiệu khái quát về chuẩn J2MEhành động của nhân vật cũng như quản lý đồ họa. Việc này sẽ làm tăng kích thướcfile của sản phẩm cũng như việc xuất hiện các đoạn mã bị lỗi. Được hưởng lợi nhấttừ Game API trong MIDP 2.0 không chỉ là các lập trình viên Game mà còn là cáclập trình viên cần sử dụng các tính năng đồ họa cao cấp. • Ý tưởng cơ bản của Game API là việc giả định rằng một màn hình gamelà tập hợp các layer (lớp). Ví dụ như : trong một game đua xe thì màn hình nền làmột layer, con đường là một layer và chiếc xe được xem như đang nằm trên layerkhác. • Với Game API nhà phát triển còn được cung cấp các tính năng như quảnlý các thao tác bàn phím. • Hỗ trợ kiểu ảnh RGB : một trong những cải tiến hấp dẫn cho các nhà pháttriển MIDP là việc biểu diễn hình ảnh dưới dạng các mảng số nguyên, cho phépMIDlet thao tác với dữ liệu hình ảnh một cách trực tiếp. 35Chương 3 : Những khó khăn do hạn chế của J2MEChương 3 : NHỮNG KHÓ KHĂN DO HẠN CHẾ CỦA J2ME Như chương 2 đã đề cập, J2ME được thiết kế nhắm đến thị trường các thiếtbị di động có cấu hình thấp, hạn chế về năng lực xử lý và khả năng lưu trữ. Cũng vìvậy, bộ thư viện lớp của J2ME cũng được giản lược để trở nên đơn giản và gọn nhẹhơn rất nhiều so với J2SE. Những hàm, lớp ít khi sử dụng, không cần thiết hoặckhông thể cài đặt được do khả năng hạn chế của phần cứng thiết bị đều được loạibỏ. Tuy vậy, việc loại bỏ quá nhiều thư viện hàm cũng gây không ít khó khăn chonhóm trong quá trình thực hiện đề tài, đặc biệt là việc thiếu thốn các hàm về đồ họa.Điều này đặt ra yêu cầu tìm kiếm giải pháp khắc phục hoặc các giải pháp thay thế. 3.1. Các hàm tô màu : Thư viện đồ họa của J2ME – MIDP 1.0 chỉ hỗ trợ các hàm tô màu sau : fillArc : tô màu cho vùng giới hạn bởi một cung fillRect : tô màu cho một hình chữ nhật fillRoundRect : tô màu cho một hình chữ nhật có góc tròn Nhằm giúp người xem bản đồ dễ dàng phân biệt được các đơn vị hành chính(trong đề tài này, đó là các quận), hầu hết trong mọi bản đồ, người ta thường tô màucho mỗi đơn vị sao cho hai vùng kế cận nhau không cùng màu với nhau. Nếu như trong Visual C++, chúng ta có thể sử dụng ít nhất là 1 trong 3 hàmFillRgn, FillPolygon, FloodFill để thực hiện được việc này. Trong phiên bản Javachuẩn (J2SE) cũng có cung cấp hàm FillPolygon nhưng đáng tiếc là trong J2ME,hàm này lại bị lược bỏ và chuẩn J2ME cũng không cung cấp hàm nào giúp tô màu 36Chương 3 : Những khó khăn do hạn chế của J2MEcho một vùng kín có hình dạng bất kỳ. Nếu chỉ sử dụng 3 hàm tô màu như trên thìkhông thể nào thực hiện được. Tuy vậy, một điều may mắn là trong phiên bản MIDP 2.0, thư viện đồ họa lạiđược thêm vào 1 hàm mới, đó là fillTriangle. Đó là một cơ hội mà chúng ta có thểtận dụng được. Theo một quy tắc trong đồ họa máy tính, một mặt phẳng bất kỳ, kể cả hìnhtròn đều có thể được lợp kín từ nhiều tam giác (với số lượng tam giác đủ lớn). Nhưvậy, nếu chúng ta có thể tạo được các tam giác từ dữ liệu về ranh giới của các quậnrồi áp dụng hàm fillTriangle thì vấn đề tô màu cho các quận sẽ được giải quyết. Tuy nhiên, cách này có một hạn chế đó là chỉ có thể thực hiện được nếu điệnthoại di động sử dụng MIDP 2.0 3.2. Các hàm vẽ đường : Thư viện đồ họa trong J2ME chỉ hỗ trợ hàm vẽ đường thẳng có độ dày là 1pixel, ngoài ra không có hàm nào khác cho phép thay đổi độ dày này, điều màchúng ta có thể thay đổi được chỉ là dạng nét vẽ : nét liền (SOLID) hay nét đứt(DOTTED). Nếu so với phiên bản chuẩn J2SE thì chúng ta thấy rằng thư viện đồhọa J2ME đã bị loại bỏ hàm setStroke vốn dễ dàng thực hiện được điều này. Như vậy, khi cần vẽ các con đường trên bản đồ có độ dày mỏng khác nhauvà đủ lớn để có thể vẽ tên đường trên đó cũng như để phân biệt các đại lộ với cácđường nhỏ hơn, chúng ta buộc phải vẽ liên tiếp nhiều đoạn thẳng xếp cạnh nhau. 37Chương 3 : Những khó khăn do hạn chế của J2ME Đây là các giải quyết đơn giản nhất, tuy nhiên, việc gọi nhiều hàm vẽ liên tụccũng có hạn chế là làm giảm tốc độ của chương trình. Do đó, chương trình cần phảiso sánh để loại bỏ việc vẽ những những đường không nhìn thấy và hạn chế đến mứcthấp nhất số đoạn thẳng cần vẽ. 3.3. Vấn đề font chữ : J2ME không cho phép chúng ta thay đổi loại font chữ cho đối tượngGraphics, có nghĩa là không cho phép chúng ta quy định font family, font size…Điều này có thể là do font hệ thống trong thiết bị là có giới hạn và chỉ có một sốđiện thoại di động cho phép cài đặt thêm font chữ vào máy. Khi tạo một đối tượng thuộc lớp Font để sử dụng, chúng ta chỉ có một cách,đó là : Font font = Font.getFont(int face, int style, int siz ...

Tài liệu được xem nhiều: