2013-04-14 21 views
7

Tôi đang cố gắng bắt đầu Dự án Html của mình nhưng tôi đang gặp một số vấn đề. Các dự án trên máy tính để bàn và Android hoạt động tốt. Vấn đề là tôi có một dự án khác mà tôi sử dụng làm thư viện không được nhập khẩu hay gì đó.LibGdx và Gwt: Không có mã nguồn nào cho loại

[ERROR] [com.mobilecostudios.walkingskeleton.GwtDefinition] - Errors in 'file:/C:/Users/chelo/Documents/mobilecostudios-libgdx/trunk/walkingskeleton/WalkingSkeleton/src/com/mobilecostudios/walkingskeleton/GameLoop.java' 
[ERROR] [com.mobilecostudios.walkingskeleton.GwtDefinition] - Line 21: No source code is available for type com.mobilecostudios.gamelibrary.Domain.BaseSprite; did you forget to inherit a required module? 

thứ bậc Dự án của tôi là:

  • GameDevLibrary
  • WalkingSkeleton
  • WalkingSkeleton-html

gwt.xml của tôi là:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit trunk//EN" "http://google-web-toolkit.googlecode.com/svn/trunk/distro-source/core/src/gwt-module.dtd"> 
<module> 
    <inherits name='com.badlogic.gdx.backends.gdx_backends_gwt' /> 
    <inherits name='GameLoop' /> 
    <entry-point class='com.mobilecostudios.walkingskeleton.client.GwtLauncher' /> 
    <set-configuration-property name="gdx.assetpath" value="../WalkingSkeleton-android/assets" /> 
</module> 

Tôi đã thêm phần proyect vào đường dẫn xây dựng rồi. Còn gì khác nữa?

Build Path enter image description here

Trả lời

6

Bạn phải chắc chắn rằng bạn cũng thêm mã nguồn của dự án đến đường dẫn của bạn. Bất kỳ mô-đun Java GWT nào sẽ được sử dụng phía máy khách cần phải có sẵn mã nguồn của nó.

Trong trường hợp của bạn,

<inherits name='GameLoop' /> 

nên là:

<inherits name='com.mobilecostudios.walkingskeleton.GameLoop' /> 

Ngoài ra, nơi nào com.mobilecostudios.gamelibrary.Domain.BaseSprite đến từ đâu? Nếu nó được sử dụng phía khách hàng, bạn cần phải thêm nó vào mô-đun .gwt.xml tệp. Nên một cái gì đó như:

<inherits name='com.mobilecostudios.gamelibrary.GameLibrary' /> 

Ở trên, tôi giả định rằng GameLibrary.gwt.xml là GWT tập tin mô-đun XML cho các dự án có chứa com.mobilecostudios.gamelibrary.Domain.BaseSprite. Về cơ bản, khi bạn muốn sử dụng một mô-đun GWT bên ngoài trong dự án của riêng bạn ở phía máy khách, bạn cần nhập nó vào dự án của bạn bằng cách thêm nguồn và tệp nhị phân vào đường dẫn xây dựng của bạn và bạn cũng cần thêm <inherits name='...'> vào tệp .gwt.xml của dự án của bạn.

+0

Tôi nên thêm đường dẫn ở đâu khác? –

+0

Tôi đã cập nhật câu trả lời của mình. Tôi thấy khó để nói chính xác những gì đang diễn ra. Bạn đang cố gắng nhập dự án nào? 'Com.mobilecostudios.gamelibrary.Domain.BaseSprite' được nhập trong mô-đun GWT ở đâu? – enrybo

3

Đối với dự án có nhiều hơn một gói bạn cần phải thêm một .gwt.xml cho mỗi gói mà bạn đang sử dụng:
add an xml for every package

như bạn có thể nhìn thấy trong hình ở trên tôi thêm controller.gwt.xml cho bộ điều khiển objects.gwt.xml cho các đối tượng và vân vân ... và bên trong những tập tin này .gwt.xml bạn phải viết một cái gì đó như thế này:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit trunk//EN" "http://google-web-toolkit.googlecode.com/svn/trunk/distro-source/core/src/gwt-module.dtd"> 
<module> 
    <source path="com/me/controller" /> 
</module> 

ví dụ này là controller.gwt.xml của tôi sau đó thêm một kế thừa thẻ vào tệp GwtDefinition.gwt.xml của bạn như sau:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit trunk//EN" "http://google-web-toolkit.googlecode.com/svn/trunk/distro-source/core/src/gwt-module.dtd"> 
<module> 
    <inherits name='com.badlogic.gdx.backends.gdx_backends_gwt' /> 
    <inherits name='MyGdxGame' /> 
    <inherits name='objects' /> 
    <inherits name='settings' /> 
    <inherits name='controller' /> 
    <entry-point class='com.me.mygdxgame.client.GwtLauncher' /> 
    <set-configuration-property name="gdx.assetpath" value="../cannongame-android/assets" /> 
</module> 
Các vấn đề liên quan