Java プラットフォームで動物園飼育係のゲームを開発しました。iOSで実行する必要がありますが、xcodeとobjcに慣れていません。UIView
と を使用すると、いくつかの問題が発生しUIImageview
ます。5 種類の 8*8 アイコン (画像) があるとします。隣接する 2 つのアイコンを変更し、水平線または垂直線で 3 つ以上のアイコンが同一である場合は常にそれらを削除し、新しいアイコンを作成して以前の場所に置き換えます。Javaで実装するには、条件を確認し、削除されたアイコンを削除して新しいアイコンを描画し(すべて座標に従って)、JPanelを再描画するだけです。しかし、どうすればそれをiosに実装できますか? プロセスをなくすとは言わないで、64 (8*8) 個のアイコンをUIView
. UIImageview
最初はおそらく を使用してから、1 つの背景に addSubviewを使用すると思いますUIView
. しかし、このように 64 のサブビューが存在する場合、それは完全にめちゃくちゃになります。私は xcode と objc に慣れていないので、タスクを完了するのに 2 週間しかありません。誰でも私の問題を解決できますか? 本当にありがとう!!
2 に答える
私が集めたものから、Java では、JPanels paintComponent 内のアイコンをペイントしただけですか?
この場合、完全にアナログにできます。JPanel /Drawing Canvas として機能する 1 つの uiview を画面に配置します。drawRect では、Java で行ったのと同じ方法で描画を行います
@interface CustomView : UIView @end
@implementation CustomView
- (void)drawRect:(CGRect)dirtyRect {
[[UIColor redColor] set];
for(int ix = 0; ix < ITEMS_PER_ROW; ix++ ) {
for(int iy = 0; iy < ITEMS_PER_COLUMN; iy++) {
//draw item at ix and iy
CGPoint pt = CGPointMake();
CGRect r = CGRectMake(ix*5;iy*5, 5, 5);
CGRectFill(r);
}
}
}
@end
*インラインで入力、保証はありません^^
そうは言っても、私はCALayersに行きます
それを描画するのではなく、64のサブレイヤーを使用します..64ではないかもしれません...おそらくそれを少しグループ化できます=>そうすれば、暗黙的なアニメーションの利点があります
混乱が見えないだけです。はい、バックグラウンドでいずれかの方法で 64 のサブビューを持つことになりますUIView
。
より簡単または論理的である場合は、 をUIImageViews
一度だけ作成して配置し、後で変更するだけUIImage
です。UIImage
アイコン自体を保持するはビュー階層の一部でありUIImageView
、UIImageView
座標とサイズまたはフレームなどを持っています。
64 個の個別のビュー オブジェクトを実際に処理する場合: Java 側でロジックがどのように機能するかによっては、コア データを使用して 1 つの画像だけを実際に描画する方がより論理的で簡単に見える場合があります。その 1 つの画像は 8x8 アイコンで構成され、変更のたびに再描画されます。次にUIImageView
、基になるすべての を単純に埋めUIView
ます。UIImageView
(厳密に言えば、その場合、 coud がビュー コントローラーのオブジェクトとして機能するため、基になる UIView はおそらく不要になるでしょうself.view
。しかし、通常のパターンを一貫して適用するためだけに UIView を使用します。)
しかし、私があなただったら、グリッドの「修正」を行い、それに応じてオブジェクトUIImageViews
を交換します。UIImage