0
JME에서 Android로 게임을 포팅했는데 성가신 문제가 발견되었습니다. 다음 활동은 그리드를 가져와야하며 사실은 그리드를 그리게됩니다. 그러나 그리드는 단지 조경 모드에서 OK로 나타납니다. 전화기를 수직으로 (세로 모드에서) 넣으면 이상하게 압축 된 것처럼 보입니다. 주 코드는 셀 행을 그리는 데 사용되는 메서드입니다 (getSquareRow) 사전 도움을 주셔서 감사합니다.드로잉이 화면 모드 (세로 또는 가로)로 변경되었습니다.
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
public class TraxActivity extends Activity {
InternalView myView;
private float shift, di;
private float n, minim, redux, side;
boolean first = true;
@Override
public void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
myView = new InternalView(this);
setContentView(myView);
}
private class InternalView extends View{
public InternalView(Context context){
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
n=5;
di=12;
int ancho = getWidth();
int alto = getHeight();
minim = Math.min(getWidth(), getHeight());
redux = minim*9/10;
shift = (getWidth() - redux)/2;
side = redux/n;
//background
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.BLUE);
canvas.drawPaint(paint);
//grid
for(int j=0; j < n; j++){
getSquareRow(canvas, j, paint);
}
}
public void getSquareRow(Canvas g, int row, Paint p){
p.setColor(Color.BLACK);
p.setStyle(Paint.Style.STROKE);
p.setStrokeWidth(10);
for(int i=0; i < n; i++){
g.drawRect(shift+i*side, shift+row*side, side, side, p);
}
}
}
}
나는 게임을 더보기 좋게하기 위해 Lanscape 모드로 만들어야한다고 생각합니다. 따라서 가로 모드로 변경할 수 있습니다. –
나는 동의하지 않는다. 일부 게임은 가로로 고정되어있다. 그러나 두 방향 모두에서 게임을 할 수 있다면 그것은 하나의 기능입니다. 그리고 기술적으로 가능하다면, "더 나은 모습"이 둘 모두에서 성취 될 수 있습니다. 최소한 작업/시간/노력에 대한 회전을지지하십시오. "게임은 풍경이어야 함"반사 장님을 따르지 마십시오. 일반적으로 두 가지 방향 지원은 항상 하나보다 낫습니다. 사용자는 그가 좋아하는 것을 선택할 수 있기 때문에 결과적으로 더 행복한 사용자가됩니다. 행복한 사용자는 앱을 더 많이 사용하거나 다른 앱을 구매합니다. –
예, @suri는 가로 모드에만 사용해야한다고 말했습니다. 세로 모드로도 이동할 수 있습니다. 그러나 두 모드에 따라 모든 레이아웃 크기를 설정해야하기 때문에 그래픽을 많이 변경해야합니다. –