gpt4 book ai didi

android - AndEngine (Android) 中的多点触控缩放功能

转载 作者:行者123 更新时间:2023-11-29 01:30:33 24 4
gpt4 key购买 nike

我正在使用 AndEngine 开发一个 Android 应用程序,我正在尝试查看是否有一个特性、功能或解决方法可以简单地通过多点触控缩放整个页面(比如当您想要在手机上放大图片)。有人可以帮忙吗。

为简单起见,假设我们想在 AndEngine 的 Lines 示例中添加多点触控缩放功能作为最简单的示例。以下是代码和截图。

enter image description here

package org.andengine.examples;

import java.util.Random;

import org.andengine.engine.camera.Camera;
import org.andengine.engine.options.EngineOptions;
import org.andengine.engine.options.ScreenOrientation;
import org.andengine.engine.options.resolutionpolicy.RatioResolutionPolicy;
import org.andengine.entity.primitive.Line;
import org.andengine.entity.scene.Scene;
import org.andengine.entity.util.FPSLogger;
import org.andengine.opengl.vbo.VertexBufferObjectManager;
import org.andengine.ui.activity.SimpleBaseGameActivity;

/**
* (c) 2010 Nicolas Gramlich
* (c) 2011 Zynga Inc.
*
* @author Nicolas Gramlich
* @since 11:54:51 - 03.04.2010
*/
public class LineExample extends SimpleBaseGameActivity {
// ===========================================================
// Constants
// ===========================================================

/* Initializing the Random generator produces a comparable result over different versions. */
private static final long RANDOM_SEED = 1234567890;

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

private static final int LINE_COUNT = 100;

@Override
public EngineOptions onCreateEngineOptions() {
final Camera camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);

return new EngineOptions(true, ScreenOrientation.LANDSCAPE_SENSOR, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), camera);
}

@Override
public void onCreateResources() {

}

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

final Scene scene = new Scene();
scene.getBackground().setColor(0.09804f, 0.6274f, 0.8784f);

final Random random = new Random(RANDOM_SEED);

final VertexBufferObjectManager vertexBufferObjectManager = this.getVertexBufferObjectManager();
for(int i = 0; i < LINE_COUNT; i++) {
final float x1 = random.nextFloat() * CAMERA_WIDTH;
final float x2 = random.nextFloat() * CAMERA_WIDTH;
final float y1 = random.nextFloat() * CAMERA_HEIGHT;
final float y2 = random.nextFloat() * CAMERA_HEIGHT;
final float lineWidth = random.nextFloat() * 5;

final Line line = new Line(x1, y1, x2, y2, lineWidth, vertexBufferObjectManager);


line.setColor(random.nextFloat(), random.nextFloat(), random.nextFloat());

scene.attachChild(line);
}

return scene;
}

}

最佳答案

关于android - AndEngine (Android) 中的多点触控缩放功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31461262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com