Git Product home page Git Product logo

andenginephysicsbox2dextension's Introduction

๐Ÿ‘‹ Hi, Iโ€™m @nicolasgramlich

andenginephysicsbox2dextension's People

Contributors

alisnic avatar nicolasgramlich avatar recastrodiaz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

andenginephysicsbox2dextension's Issues

Fatal signal 11 (SIGSEGV) when using Vector2[] array with several entries

When I use the following piece of code to create a custom Body shape for my player, the application crashes with "Fatal signal 11 (SIGSEGV)" (see error message after method).

But when I remove just 3 Vector entries from the array, the application does not crash.

private static Body createPlayerBody(final PhysicsWorld pPhysicsWorld, final IEntity pEntity, final BodyType pBodyType, final FixtureDef pFixtureDef) {
    if (mPlayerBody == null) {
        final float width = pEntity.getWidth() / PhysicsConstants.PIXEL_TO_METER_RATIO_DEFAULT;
        final float height = pEntity.getHeight() / PhysicsConstants.PIXEL_TO_METER_RATIO_DEFAULT;
        final Vector2[] vertices = {
                new Vector2(-0.06771f*width, -0.23047f*height),
                new Vector2(-0.07292f*width, -0.48047f*height),
                new Vector2(+0.14062f*width, -0.48438f*height),
                new Vector2(+0.11979f*width, -0.23438f*height),
                new Vector2(+0.46875f*width, -0.02344f*height),
                new Vector2(+0.34896f*width, +0.36328f*height),
                new Vector2(-0.06771f*width, +0.48828f*height),
                new Vector2(-0.40104f*width, +0.32422f*height),
                new Vector2(-0.40625f*width, -0.04688f*height)
        };
        mPlayerBody = PhysicsFactory.createPolygonBody(pPhysicsWorld, pEntity, vertices, pBodyType, pFixtureDef);
    }
    return mPlayerBody;
}

Error message:

07-06 03:03:28.050: I/power(188): *** release_dvfs_lock : lockType : 1 
07-06 03:03:28.050: D/PowerManagerService(188): releaseDVFSLockLocked : all DVFS_MIN_LIMIT are released 
07-06 03:03:28.050: W/ActivityManager(188): mDVFSLock.release()
07-06 03:03:28.573: E/Watchdog(188): !@Sync 479
07-06 03:03:29.011: W/PowerManagerService(188): Timer 0x7->0x3|0x3
07-06 03:03:29.011: I/PowerManagerService(188): Ulight 7->3|0
07-06 03:03:29.011: E/lights(188): write_int failed to open /sys/class/sec/sec_touchkey/brightness
07-06 03:03:29.011: D/PowerManagerService(188): setLightBrightness : mButtonLight : 0
07-06 03:03:29.863: D/dalvikvm(18328): Trying to load lib /data/data/com.my.package/lib/libandenginephysicsbox2dextension.so 0x41278a20
07-06 03:03:29.870: D/dalvikvm(18328): Added shared lib /data/data/com.my.package/lib/libandenginephysicsbox2dextension.so 0x41278a20
07-06 03:03:29.870: D/dalvikvm(18328): No JNI_OnLoad found in /data/data/com.my.package/lib/libandenginephysicsbox2dextension.so 0x41278a20, skipping init
07-06 03:03:29.933: D/dalvikvm(18328): GC_EXPLICIT freed 266K, 6% free 8178K/8647K, paused 1ms+3ms
07-06 03:03:29.972: D/dalvikvm(18328): GC_EXPLICIT freed 132K, 6% free 8176K/8647K, paused 1ms+2ms
07-06 03:03:29.988: A/libc(18328): Fatal signal 11 (SIGSEGV) at 0xfa99a744 (code=1)
07-06 03:03:30.495: I/DEBUG(96): SET
07-06 03:03:30.495: I/DEBUG(96): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
07-06 03:03:30.495: I/DEBUG(96): Build fingerprint: 'samsung/espresso10wifixx/espresso10wifi:4.0.3/IML74K/P5110XWALD2:user/release-keys'
07-06 03:03:30.495: I/DEBUG(96): pid: 18328, tid: 18383  >>> com.my.package <<<
07-06 03:03:30.495: I/DEBUG(96): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr fa99a744
07-06 03:03:30.495: I/DEBUG(96):  r0 5f98ea34  r1 00811728  r2 bf4311fa  r3 00811228
07-06 03:03:30.495: I/DEBUG(96):  r4 00811250  r5 00000000  r6 00000004  r7 bf4311f9
07-06 03:03:30.495: I/DEBUG(96):  r8 00000000  r9 5c3a1df8  10 00000001  fp 00000000
07-06 03:03:30.495: I/DEBUG(96):  ip fa99a740  sp 5f98e9e0  lr 5d0fe348  pc 5d0fdfac  cpsr 20000010
07-06 03:03:30.495: I/DEBUG(96):  d0  3f800000ffc00000  d1  8000000000000000
07-06 03:03:30.495: I/DEBUG(96):  d2  3f8000003f800000  d3  8000000000000000
07-06 03:03:30.495: I/DEBUG(96):  d4  bf7ff8003f800000  d5  417a00003c800688
07-06 03:03:30.495: I/DEBUG(96):  d6  bf6c0054be50014f  d7  7fc00000ffc00000
07-06 03:03:30.495: I/DEBUG(96):  d8  4195c000417a0000  d9  7fc00000ffc00000
07-06 03:03:30.495: I/DEBUG(96):  d10 0000000000000000  d11 0000000000000000
07-06 03:03:30.495: I/DEBUG(96):  d12 0000000000000000  d13 0000000000000000
07-06 03:03:30.495: I/DEBUG(96):  d14 0000000000000000  d15 0000000000000000
07-06 03:03:30.495: I/DEBUG(96):  d16 0000000700000001  d17 4133000000000000
07-06 03:03:30.495: I/DEBUG(96):  d18 3fe62e42fee00000  d19 3fc3333340000000
07-06 03:03:30.495: I/DEBUG(96):  d20 3fe3333340000000  d21 3fd3333340000000
07-06 03:03:30.495: I/DEBUG(96):  d22 3fd51eb860000000  d23 40e01d100abe0000
07-06 03:03:30.495: I/DEBUG(96):  d24 40dd4c2013880000  d25 40ed4c1013880000
07-06 03:03:30.495: I/DEBUG(96):  d26 40cd4c4013880000  d27 3fe0000000000000
07-06 03:03:30.495: I/DEBUG(96):  d28 0000000000000000  d29 3ff0000000000000
07-06 03:03:30.495: I/DEBUG(96):  d30 3ff0000000000000  d31 3ff0000000000000
07-06 03:03:30.495: I/DEBUG(96):  scr 20000013
07-06 03:03:30.652: I/DEBUG(96):          #00  pc 0000efac  /data/data/com.my.package/lib/libandenginephysicsbox2dextension.so
07-06 03:03:30.652: I/DEBUG(96):          #01  lr 5d0fe348  /data/data/com.my.package/lib/libandenginephysicsbox2dextension.so
07-06 03:03:30.652: I/DEBUG(96): code around pc:
07-06 03:03:30.652: I/DEBUG(96): 5d0fdf8c ee377a49 ee777aa8 ee067a44 ee777ae9  Iz7..zw.Dz...zw.
07-06 03:03:30.652: I/DEBUG(96): 5d0fdf9c ee467a43 ee067ae3 ee467ae2 ee270a24  CzF..z...zF.$.'.
07-06 03:03:30.652: I/DEBUG(96): 5d0fdfac ed9c7a01 ee674a04 ee070a85 eddc7a02  .z...Jg......z..
07-06 03:03:30.652: I/DEBUG(96): 5d0fdfbc ee275a03 ee474aa3 ee075aa2 ee246a82  .Z'..JG..Z...j$.
07-06 03:03:30.652: I/DEBUG(96): 5d0fdfcc ee645aa1 ee056a01 ee455a20 da00000e  .Zd..j.. ZE.....
07-06 03:03:30.652: I/DEBUG(96): code around lr:
07-06 03:03:30.652: I/DEBUG(96): 5d0fe328 e8bd85f0 e28d0098 e1a01007 e1a0200a  ............. ..
07-06 03:03:30.652: I/DEBUG(96): 5d0fe338 e1a03006 e520407c e58d8000 ebfffea2  .0..|@ .........
07-06 03:03:30.659: I/DEBUG(96): 5d0fe348 eeb48ac0 eef1fa10 4afffff2 eddf7af1  ...........J.z..
07-06 03:03:30.659: I/DEBUG(96): 5d0fe358 ed9f7af1 ee487a87 eeb40ae7 eef1fa10  .z...zH.........
07-06 03:03:30.659: I/DEBUG(96): 5d0fe368 ca0000f0 e59d3018 e1a01007 edd87a00  .....0.......z..
07-06 03:03:30.659: I/DEBUG(96): memory map around addr fa99a744:
07-06 03:03:30.659: I/DEBUG(96): be966000-be987000 [stack]
07-06 03:03:30.659: I/DEBUG(96): (no map for address)
07-06 03:03:30.659: I/DEBUG(96): ffff0000-ffff1000 [vectors]
07-06 03:03:30.659: I/DEBUG(96): stack:
07-06 03:03:30.659: I/DEBUG(96):     5f98e9a0  3cea0ea0  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9a4  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9a8  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9ac  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9b0  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9b4  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9b8  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9bc  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9c0  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9c4  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9c8  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9cc  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9d0  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9d4  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9d8  df0027ad  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9dc  00000000  
07-06 03:03:30.659: I/DEBUG(96): #00 5f98e9e0  3ca3d70a  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9e4  ffc00000  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9e8  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9ec  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9f0  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9f4  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9f8  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98e9fc  0082bd40  [heap]
07-06 03:03:30.659: I/DEBUG(96):     5f98ea00  00811228  [heap]
07-06 03:03:30.659: I/DEBUG(96):     5f98ea04  00811728  [heap]
07-06 03:03:30.659: I/DEBUG(96):     5f98ea08  00811194  [heap]
07-06 03:03:30.659: I/DEBUG(96):     5f98ea0c  5c3a1df8  
07-06 03:03:30.659: I/DEBUG(96):     5f98ea10  00811694  [heap]
07-06 03:03:30.659: I/DEBUG(96):     5f98ea14  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98ea18  00811194  [heap]
07-06 03:03:30.659: I/DEBUG(96):     5f98ea1c  00000000  
07-06 03:03:30.659: I/DEBUG(96):     5f98ea20  5710e7c8  /dev/ashmem/dalvik-LinearAlloc (deleted)
07-06 03:03:30.659: I/DEBUG(96):     5f98ea24  00000001  
07-06 03:03:33.691: I/DEBUG(96): EET
07-06 03:03:33.691: I/DEBUG(96): !@dumpstate -k -t -n -z -d -o /data/log/dumpstate_app_native -m 18328
07-06 03:03:33.691: I/BootReceiver(188): Copying /data/tombstones/tombstone_01 to DropBox (SYSTEM_TOMBSTONE)
07-06 03:03:33.698: I/dumpstate(18390): begin
07-06 03:03:33.777: D/dalvikvm(188): GC_FOR_ALLOC freed 341K, 58% free 14782K/35143K, paused 87ms
07-06 03:03:38.113: D/VoldCmdListener(93): asec list
07-06 03:03:38.113: D/VoldCmdListener(93): CommandListener::AsecCmd::runCommand -> -- 
07-06 03:03:39.159: I/dumpstate(18390): done
07-06 03:03:39.245: D/KeyguardViewMediator(188): setHidden false
07-06 03:03:39.245: I/WindowManager(188): WIN DEATH: Window{419272e0 com.my.package/com.my.package.GameScreenSingle paused=false}
07-06 03:03:39.245: W/WindowManager(188): Force-removing child win Window{41c7a4d8 SurfaceView paused=false} from container Window{419272e0 com.my.package/com.my.package.GameScreenSingle paused=false}
07-06 03:03:39.245: I/ActivityManager(188): Process com.my.package (pid 18328) has died.
07-06 03:03:39.245: W/ActivityManager(188): Force removing ActivityRecord{413cf348 com.my.package/.GameScreenSingle}: app died, no saved state
07-06 03:03:39.253: W/InputDispatcher(188): channel ~ Consumer closed input channel or an error occurred.  events=0x8
07-06 03:03:39.253: E/InputDispatcher(188): channel ~ Channel is unrecoverably broken and will be disposed!
07-06 03:03:39.253: D/KeyguardViewMediator(188): setHidden false
07-06 03:03:39.253: W/InputDispatcher(188): Attempted to unregister already unregistered input channel '41910448 com.my.package/com.my.package.StartScreen (server)'
07-06 03:03:39.253: D/KeyguardViewMediator(188): setHidden false
07-06 03:03:39.253: D/PowerManagerService(188): releaseWakeLockLocked flags=0x0 tag=KEEP_SCREEN_ON_FLAG myUID=1000 myPID=188 myTID=401
07-06 03:03:39.253: W/WindowManager(188): Failed looking up window
07-06 03:03:39.253: W/WindowManager(188): java.lang.IllegalArgumentException: Requested window android.os.BinderProxy@412b2df8 does not exist
07-06 03:03:39.253: W/WindowManager(188):   at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7719)
07-06 03:03:39.253: W/WindowManager(188):   at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7710)
07-06 03:03:39.253: W/WindowManager(188):   at com.android.server.wm.WindowState$DeathRecipient.binderDied(WindowState.java:1530)
07-06 03:03:39.253: W/WindowManager(188):   at android.os.BinderProxy.sendDeathNotice(Binder.java:417)
07-06 03:03:39.253: W/WindowManager(188):   at dalvik.system.NativeStart.run(Native Method)
07-06 03:03:39.253: I/WindowManager(188): WIN DEATH: null
07-06 03:03:39.253: I/WindowManager(188): WINDOW DIED Window{41910448 com.my.package/com.my.package.StartScreen paused=false}
07-06 03:03:39.261: I/power(188): *** acquire_dvfs_lock : lockType : 1  freq : 1008000 
07-06 03:03:39.261: W/WindowManager(188): Failed looking up window
07-06 03:03:39.261: W/WindowManager(188): java.lang.IllegalArgumentException: Requested window android.os.BinderProxy@4172d9a8 does not exist
07-06 03:03:39.261: W/WindowManager(188):   at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7719)
07-06 03:03:39.261: W/WindowManager(188):   at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7710)
07-06 03:03:39.261: W/WindowManager(188):   at com.android.server.wm.WindowState$DeathRecipient.binderDied(WindowState.java:1530)
07-06 03:03:39.261: W/WindowManager(188):   at android.os.BinderProxy.sendDeathNotice(Binder.java:417)
07-06 03:03:39.261: W/WindowManager(188):   at com.android.server.SystemServer.init1(Native Method)
07-06 03:03:39.261: W/WindowManager(188):   at com.android.server.SystemServer.main(SystemServer.java:991)
07-06 03:03:39.261: W/WindowManager(188):   at java.lang.reflect.Method.invokeNative(Native Method)
07-06 03:03:39.261: W/WindowManager(188):   at java.lang.reflect.Method.invoke(Method.java:511)
07-06 03:03:39.261: W/WindowManager(188):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
07-06 03:03:39.261: W/WindowManager(188):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
07-06 03:03:39.261: W/WindowManager(188):   at dalvik.system.NativeStart.main(Native Method)
07-06 03:03:39.261: I/WindowManager(188): WIN DEATH: null
07-06 03:03:39.261: D/PowerManagerService(188): acquireDVFSLockLocked : type : DVFS_MIN_LIMIT  frequency : 1008000  uid : 1000  pid : 188  tag : ActivityManager
07-06 03:03:39.261: W/ActivityManager(188): mDVFSLock.acquire()
07-06 03:03:39.277: D/dalvikvm(18423): Late-enabling CheckJNI
07-06 03:03:39.308: D/Zygote(99): Process 18328 terminated by signal (11)

Body maximal speed = framerate*2

I'm using FixedStepPhysics with the number of steps defined in the
int SUPER_NUMBER.

Than I take a simple body and drop it in the gravity field. Starting from 0 speed it accelerating until reaches maximal speed
= SUPER_NUMBER*2;

SUPER_NUMBER = 30 gives the maximal velocity of the body = 60
SUPER_NUMBER = 40 gives the maximal velocity of the body = 80
and so on.

Below there is the full code.

Moreover, using PhysicsWorld + FixedStepEngine this bug(?) gives the maximal body speed equal to 2*(frame rate).

package physics_bug.physics_bug;

import org.andengine.engine.camera.Camera;
import org.andengine.engine.handler.IUpdateHandler;
import org.andengine.engine.options.EngineOptions;
import org.andengine.engine.options.EngineOptions.ScreenOrientation;
import org.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy;
import org.andengine.entity.primitive.Rectangle;
import org.andengine.entity.scene.Scene;
import org.andengine.entity.scene.Scene.IOnSceneTouchListener;
import org.andengine.entity.scene.background.Background;
import org.andengine.entity.sprite.AnimatedSprite;
import org.andengine.entity.util.FPSLogger;
import org.andengine.extension.physics.box2d.FixedStepPhysicsWorld;
import org.andengine.extension.physics.box2d.PhysicsConnector;
import org.andengine.extension.physics.box2d.PhysicsFactory;
import org.andengine.extension.physics.box2d.PhysicsWorld;
import org.andengine.extension.physics.box2d.util.Vector2Pool;
import org.andengine.input.touch.TouchEvent;
import org.andengine.opengl.texture.TextureOptions;
import org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlas;
import org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlasTextureRegionFactory;
import org.andengine.opengl.texture.region.TiledTextureRegion;
import org.andengine.sensor.accelerometer.AccelerometerData;
import org.andengine.sensor.accelerometer.IAccelerometerListener;
import org.andengine.ui.activity.SimpleBaseGameActivity;
import org.andengine.util.debug.Debug;

import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.physics.box2d.Body;
import com.badlogic.gdx.physics.box2d.FixtureDef;
import com.badlogic.gdx.physics.box2d.BodyDef.BodyType;

import android.app.Activity;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.Toast;

public class Physics_bugActivity extends SimpleBaseGameActivity implements
IUpdateHandler {

    private static final int CAMERA_WIDTH = 800;
    private static final int CAMERA_HEIGHT = 480;

    private BitmapTextureAtlas mBitmapTextureAtlas;
    private TiledTextureRegion mBoxFaceTextureRegion;
    private Scene mScene;
    private PhysicsWorld mPhysicsWorld;
    Camera camera;

    @Override
    public EngineOptions onCreateEngineOptions() {
            camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
            return new EngineOptions(true, ScreenOrientation.LANDSCAPE_FIXED,
                            new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), camera);
    }

    @Override
    public void onCreateResources() {
            BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("");

            this.mBitmapTextureAtlas = new BitmapTextureAtlas(64, 64,
                            TextureOptions.BILINEAR);
            this.mBoxFaceTextureRegion = BitmapTextureAtlasTextureRegionFactory
                            .createTiledFromAsset(this.mBitmapTextureAtlas, this,
                                            "face_box_tiled.png", 0, 0, 2, 1); // 64x32
            this.mBitmapTextureAtlas.load(this.getTextureManager());
    }

    @Override
    public Scene onCreateScene() {
            this.mEngine.registerUpdateHandler(new FPSLogger());

            this.mScene = new Scene();
            this.mScene.setBackground(new Background(0, 0, 0));


            this.mPhysicsWorld = new FixedStepPhysicsWorld(SUPER_NUMBER, new Vector2(0,
                            SensorManager.GRAVITY_EARTH), false, 3, 2);


            this.mScene.registerUpdateHandler(this.mPhysicsWorld);

            this.mScene.registerUpdateHandler(this);

            final FixtureDef objectFixtureDef = PhysicsFactory.createFixtureDef(1,
                            0.5f, 0.5f);

            face = new AnimatedSprite(100, 100, this.mBoxFaceTextureRegion,
                            this.getVertexBufferObjectManager());
            body = PhysicsFactory.createBoxBody(this.mPhysicsWorld, face,
                            BodyType.DynamicBody, objectFixtureDef);

            face.animate(200);

            this.mScene.attachChild(face);
            this.mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(face,
                            body, true, true));
            camera.setChaseEntity(face);

            return this.mScene;
    }

    AnimatedSprite face;
    Body body;
    private Vector2 v;
    long t;

    @Override
    public void onUpdate(float pSecondsElapsed) {
            // TODO Auto-generated method stubbody
            if (System.currentTimeMillis() - t > 2000) {
                    t = System.currentTimeMillis();

                    v = body.getLinearVelocity();
                    Debug.e("linear speed Vx=" + v.x + " Vy=" + v.y);
            }

    }

    @Override
    public void reset() {
    }

}

libgdx has moved to Github

Hi there!

Since libgdx has moved to Github, the scripts that try to retrieve the library doesn't work any more. Link in description is obsolete too.

Have a nice day!

Problem with collision when I put areaBind in ActionDown and Move

Hello, I am trying to use box2d extension to detect collision in walls. For example, my player move through with drag on the screen and I need to put the rules:
setTouchAreaBindingOnActionDown Enabled(true);
setTouchAreaBindingOnActionMoveEnabled(true);
But, if I use this combinations (down and move), my player overlap the walls.

If I put only works allright, but I lose my player a lot in the screen.
I am using this idea to move my player:
if (pSceneTouchEvent.isActionMove()) {
final Body faceBody = (Body) getUserData();
faceBody.setTransform(
pSceneTouchEvent.getX()
/ PhysicsConstants.PIXEL_TO_METER_RATIO_DEFAULT,
pSceneTouchEvent.getY()
/ PhysicsConstants.PIXEL_TO_METER_RATIO_DEFAULT,
faceBody.getAngle());
return true;

            }

Thank you.

Integrate Rope Joint

Please integrate latest version of Box2d and create an accessor for Rope Joint. The revolute joints are a bit wonky for ropes.

I would do it myself, but I'm a bit rubbish with JNI.

couldn't find "libandenginephysicsbox2dextension.so"

Hi,

I use andengine and box2dextension libraries in my game. When I try my game on lg g4 with 64 bit processor, I get below error:

E/AndEngine: GameActivity.onCreateScene failed. @(Thread: 'GLThread 1447')
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.revolvia.fivepop-1/base.apk"],nativeLibraryDirectories=[/data/app/com.revolvia.fivepop-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libandenginephysicsbox2dextension.so"
at java.lang.Runtime.loadLibrary(Runtime.java:366)
at java.lang.System.loadLibrary(System.java:988)
at org.andengine.extension.physics.box2d.PhysicsWorld.(PhysicsWorld.java:36)
at com.revolvia.fivepop.activities.GameActivity.onCreateScene(GameActivity.java:386)
at org.andengine.ui.activity.SimpleLayoutGameActivity.onCreateScene(SimpleLayoutGameActivity.java:48)
at org.andengine.ui.activity.BaseGameActivity$3.onCreateResourcesFinished(BaseGameActivity.java:169)
at org.andengine.ui.activity.SimpleLayoutGameActivity.onCreateResources(SimpleLayoutGameActivity.java:43)
at org.andengine.ui.activity.BaseGameActivity.onCreateGame(BaseGameActivity.java:181)
at org.andengine.ui.activity.BaseGameActivity.onSurfaceCreated(BaseGameActivity.java:110)
at org.andengine.opengl.view.EngineRenderer.onSurfaceCreated(EngineRenderer.java:80)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1500)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1239)

Please Help me..

Crash on android 6: libandenginephysicsbox2dextension.so: has text relocations

There's a problem when targeting to SDK level 23
The app just crashing saying "libandenginephysicsbox2dextension.so: has text relocations"
As shown in the attached logcat:

/data/app/<APP-PACKAGE>/lib/arm/libandenginephysicsbox2dextension.so: has text relocations
FATAL EXCEPTION: UpdateThread
Process: <APP-PACKAGE>, PID: 16897
Theme: themes:{default=overlay:com.blazze11.euphoria.dark, fontPkg:com.blazze11.euphoria.dark, com.android.systemui=overlay:com.blazze11.euphoria.dark, com.android.systemui.navbar=overlay:com.blazze11.euphoria.dark}
java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/<APP-PACKAGE>/lib/arm/libandenginephysicsbox2dextension.so: has text relocations
at java.lang.Runtime.loadLibrary(Runtime.java:372)
at java.lang.System.loadLibrary(System.java:1076)
at org.andengine.extension.physics.box2d.PhysicsWorld.<clinit>(PhysicsWorld.java:35)
at <APP-PACKAGE>.engine.scene.GameScene.createScene(GameScene.java:148)
at <APP-PACKAGE>.engine.scene.BaseScene.<init>(BaseScene.java:31)
at <APP-PACKAGE>.engine.scene.GameScene.<init>(GameScene.java:67)
at <APP-PACKAGE>.engine.scene.SceneManager.createGameScene(SceneManager.java:77)
at <APP-PACKAGE>.engine.scene.SceneManager.setScene(SceneManager.java:38)
at <APP-PACKAGE>.engine.scene.MainMenuScene.startNewGame(MainMenuScene.java:93)
at <APP-PACKAGE>.engine.scene.MainMenuScene.onMenuItemClicked(MainMenuScene.java:72)
at org.andengine.entity.scene.menu.MenuScene.onAreaTouched(MenuScene.java:139)
at org.andengine.entity.scene.Scene.onAreaTouchEvent(Scene.java:413)
at org.andengine.entity.scene.Scene.onSceneTouchEvent(Scene.java:357)
at org.andengine.entity.scene.CameraScene.onSceneTouchEvent(CameraScene.java:64)
at org.andengine.entity.scene.Scene.onChildSceneTouchEvent(Scene.java:420)
at org.andengine.entity.scene.Scene.onSceneTouchEvent(Scene.java:338)
at org.andengine.engine.Engine.onTouchScene(Engine.java:452)
at org.andengine.engine.Engine.onTouchEvent(Engine.java:438)
at org.andengine.input.touch.controller.BaseTouchController$TouchEventRunnablePoolItem.run(BaseTouchController.java:102)
at org.andengine.util.adt.pool.RunnablePoolUpdateHandler.onHandlePoolItem(RunnablePoolUpdateHandler.java:54)
at org.andengine.util.adt.pool.RunnablePoolUpdateHandler.onHandlePoolItem(RunnablePoolUpdateHandler.java:1)
at org.andengine.util.adt.pool.PoolUpdateHandler.onUpdate(PoolUpdateHandler.java:88)
at org.andengine.input.touch.controller.BaseTouchController.onUpdate(BaseTouchController.java:62)
at org.andengine.engine.Engine.onUpdate(Engine.java:584)
at org.andengine.engine.Engine.onTickUpdate(Engine.java:548)
at org.andengine.engine.Engine$UpdateThread.run(Engine.java:820)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.