teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

質問内容の変更

2018/06/25 09:08

投稿

gyugyu
gyugyu

スコア8

title CHANGED
File without changes
body CHANGED
@@ -1,63 +1,39 @@
1
- ### 前提・実現したいこと
2
-
3
1
  スマートフォン用アプリをUnityで開発しています。iphone専用アプリとして申請したところリジェクトされてしまいました。今回プログラムは外注しているので調整なら自分でもやれるのではないかと思いカメラの調整などをやってみましたがうまくいきません。
4
- カメラのインスペクーを調整ましが、反映されないのでおそらくカメラスクリプトの設定なのだと思うので
2
+ スペクト比9:16のゲ2:3でもプレイできるようにしたいのです。
5
- ちなみにゲームではカメラは中央にいるキャラクターが縦横に移動すると追随するように設定されています。(昔のドラクエの主人公が縦横に1マス動くようなイメージです)
6
3
 
7
- ラスクリプトの該当していそうな部分を貼らせていただきますので、何卒よろしくお願いいたします。
4
+ ![イージ説明](295526c7679fd90c75227ab1c7fbd770.jpeg)
5
+ カメラのサイズをインスペクターを調整しましたが、bsCameraScriptで設定されているカメラサイズが優先されているようで、ゲーム中は反映されない状態です。
8
6
 
9
- ![![イメージ説明](701ea52ec02d7b3171edf59c103a8365.jpeg)]
7
+ 該当していると思われるスクリプトを貼らせていただきますので、どこを調整すればいいのか教えていただけますでしょうか。何卒よろしくお願いいたします。
10
8
 
11
- ### 発生している問題・エラーメッセージ
9
+ ```C#
12
10
 
13
- リジェクトの理由としてはiphone専用アプリでもipad上でiphone互換モードで動かないといけない。あなたのアプリは640×960のモードだと画面上下が切れてしまう。とのことです。
11
+ public class bsCameraScript : bsGameObjectScript {
14
12
 
15
- ### 該当のソーコード
13
+ // カメラリ
14
+ private static List<bsCameraScript> CameraList = new List<bsCameraScript>();
15
+ /// <summary>
16
- /// 視野
16
+ /// カメラ数取得
17
17
  /// </summary>
18
- public int width
18
+ public static int CameraCount
19
19
  {
20
20
  get
21
21
  {
22
- return (int)(GetComponent<Camera>().orthographicSize / ((float)bsWindow.CanvasHeight / 200.0f) * bsWindow.CanvasWidth);
22
+ return CameraList.Count;
23
23
  }
24
24
  }
25
-
26
25
  /// <summary>
27
- /// 視野
26
+ /// カメラのスクリプト取得
28
27
  /// </summary>
29
- public int height
28
+ public static bsCameraScript GetCameraScript(int index)
30
29
  {
31
- get
32
- {
33
- return (int)(GetComponent<Camera>().orthographicSize / ((float)bsWindow.CanvasHeight / 200.0f) * bsWindow.CanvasHeight);
30
+ return CameraList[index];
34
- }
35
31
  }
36
32
 
33
+
37
- public float Zoom
34
+ <中略(カメラのスクロール追随設定など)>
38
- {
39
- get
40
- {
41
- return (bsWindow.CanvasHeight / 200.0f) / GetComponent<Camera>().orthographicSize;
42
- }
43
- }
44
35
 
45
36
 
46
- /// <summary>
47
- /// カメラサイズ
48
- /// </summary>
49
- public void SetSize(int cw, int ch, bool isGUI = false)
50
- {
51
- if (isGUI)
52
- {
53
- // カメラサイズ設定
54
- GetComponent<Camera>().orthographicSize = ch / 200.0f;
55
- }
56
- else {
57
- // カメラサイズ設定
58
- GetComponent<Camera>().orthographicSize = ch / 230.0f;
59
- }
60
-
61
37
  #if UNITY_ANDROID || UNITY_IPHONE
62
38
  float w,h;
63
39
  // プレイ中はディスプレイ情報から取得
@@ -91,90 +67,10 @@
91
67
  }
92
68
  #endif
93
69
 
94
- }
70
+ ```
95
-
96
- void OnDestroy()
97
- {
98
- CameraList.Remove(this);
99
- }
100
71
 
101
72
 
102
- protected override void Awake ()
103
- {
104
- base.Awake();
105
- CameraList.Add(this);
106
- }
107
73
 
108
- protected override void Start()
109
- {
110
-
111
- }
112
-
113
- protected override void Update()
114
- {
115
-
116
-
117
- }
118
-
119
- void LateUpdate()
120
- {
121
- if(Application.isPlaying == true && TargetObject != null)
122
- {
123
- position = new Vector3(
124
- (isScrollX)?(TargetObject.WorldPosition.x + TargetPositionOffset.x):x,
125
- (isScrollY)?(TargetObject.WorldPosition.y + TargetPositionOffset.y):y,
126
- z
127
- );
128
-
129
- // スクロール範囲
130
- if(ScrollMaxXFlag == true && x > ScrollMaxX)
131
- {
132
- x = ScrollMaxX;
133
- }
134
- else if(ScrollMinXFlag == true && x < ScrollMinX)
135
- {
136
- x = ScrollMinX;
137
- }
138
- if(ScrollMaxYFlag == true && y > ScrollMaxY)
139
- {
140
- y = ScrollMaxY;
141
- }
142
- else if(ScrollMinYFlag == true && y < ScrollMinY)
143
- {
144
- y = ScrollMinY;
145
- }
146
-
147
- }
148
- }
149
-
150
- #if UNITY_EDITOR
151
- void OnDrawGizmos()
152
- {
153
-
154
- Gizmos.color = new Color(1.0f, 0, 1.0f, 1.0f);
155
- if(Application.isPlaying)
156
- {
157
- Gizmos.DrawWireCube(
158
- new Vector3(x, -y, z)/100.0f,
159
- new Vector3(bsWindow.ScreenWidth, bsWindow.ScreenHeight, 1)/100.0f
160
- );
161
- }
162
- else
163
- {
164
- Gizmos.DrawWireCube(
165
- new Vector3(x, -y, z)/100.0f,
166
- new Vector3(bsWindow.RootScript.WindowWidth, bsWindow.RootScript.WindowHeight, 1)/100.0f
167
- );
168
- }
169
- }
170
- #endif
171
- }
172
-
173
-
174
- ### 試したこと
175
-
176
- Unity上でカメラのポジションやサイズなどを調整しましたがうまくいきません。おそらくカメラのスクリプトによって縦横比が設定されているようなのですが、上記スクリプトのどの部分で縦横比の設定をしているのかいまいちわかりません。
177
-
178
74
  ### 補足情報(FW/ツールのバージョンなど)
179
75
 
180
76
  Unity5.6.6