1

我想设置一个图像,从一个 URL 下载到 COCOS2D android,作为背景。
我的课是 CCGLSurfaceView。这是我的代码。
如何从 Internet 将图像设置为背景。

package org.cocos2d.opengl;


public class CCGLSurfaceView extends GLSurfaceView {
private static final int VIEWID = 0x1235;
// private static final String LOG_TAG = CCGLSurfaceView.class.getSimpleName();
private CCTouchDispatcher mDispatcher;

public CGSize frame;

public CCGLSurfaceView(Context context) {
    super(context);

    CCDirector.theApp = (Activity) context;

    mDispatcher = CCTouchDispatcher.sharedDispatcher();

    setFocusable(true);
    setFocusableInTouchMode(true);
    this.setId(VIEWID);

    // add this to resolve Samsung's Galaxy opengl problem
    //  here for reference.
    // http://www.anddev.org/samsung_galaxy_odd_ogl_es_hardware_acceleration_resolved-t8511.html
    /* need a real machine to test
    this.setEGLConfigChooser(
            new GLSurfaceView.EGLConfigChooser() {
                public EGLConfig chooseConfig(EGL10 egl,EGLDisplay display) {
                    int[] attributes=new int[]{
                            //EGL10.EGL_RED_SIZE,
                            //5,
                            //EGL10.EGL_BLUE_SIZE,
                            //5,
                            //EGL10.EGL_GREEN_SIZE,
                            //6,
                            EGL10.EGL_DEPTH_SIZE,
                            16,
                            EGL10.EGL_NONE
                    };
                    EGLConfig[] configs=new EGLConfig[1];
                    int[] result=new int[1];
                    egl.eglChooseConfig(display,attributes,configs,1,result);
                    return configs[0];
                }
            }
    );*/
}

@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
    super.onLayout(changed, left, top, right, bottom);
    frame = CGSize.make(right - left, bottom - top);
}        

@Override
public boolean onTouchEvent(MotionEvent event) {

    mDispatcher.queueMotionEvent(event);

//      switch (event.getAction()) {
//      case MotionEvent.ACTION_CANCEL:
//          mDispatcher.touchesCancelled(event);
//          break;
//      case MotionEvent.ACTION_DOWN:
//          mDispatcher.touchesBegan(event);
//          break;
 //     case MotionEvent.ACTION_MOVE:
//          mDispatcher.touchesMoved(event);
  //            break;
//      case MotionEvent.ACTION_UP:
//          mDispatcher.touchesEnded(event);
//          break;
//      }

    synchronized (CCDirector.sharedDirector()) {
        try {
            CCDirector.sharedDirector().wait(20L);
        } catch (InterruptedException e) {
            // Do nothing
        }
    }

    return true;
}
}
4

1 回答 1

4

要设置您需要CCSprite在构造函数中定义的背景图像,请将标记设置为1并将锚点值设置为(0,0)

这是代码:

CCSprite background = CCSprite.sprite("Background.jpeg");
background.setTag(1);
background.setAnchorPoint(0, 0);
addChild(background);
于 2012-07-13T12:43:25.110 回答