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モードで作られるべきだと思います。したがって、それを風景モードに変更することができます。 –
私は同意しない、いくつかのゲームは風景にロックされています。しかし、あなたが両方の方向であなたのゲームをプレイすることができれば、それは機能です。そして、技術的に可能な限り、「よりよく見える」ことが両方で達成できます。少なくとも作業/時間/努力に対して回転をサポートすることを検討してください。 「ゲームは風景でなければならない」反射盲に従ってはいけません。一般に、2つの方向をサポートすることは、常に1つより優れています。ユーザーは自分が好きなものを選ぶことができ、結局はより幸せなユーザーになるからです。また、幸せなユーザーはあなたのアプリにもっと関わったり、あなたから他のアプリを購入したりします。 –
はい、@ suriさんは横長モードにする必要があると言いました。ポートレートモードにも行くことができます。両方のモードに合わせてレイアウトのサイズを設定する必要があるため、グラフィックスに多くの変更を加える必要があります。 –