質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

COCOS2D-X

COCOS2D-Xは、 2Dゲームを手軽に開発できるフレームワークのことです。 iPhone(iOS)向け、Android等に対応しており、 実質ワンソースで開発が可能です。

Q&A

解決済

2回答

1353閲覧

(cocos2d-x)for文で変数を2重に使用するにはどうすればよいでしょうか?

tako_master

総合スコア11

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

COCOS2D-X

COCOS2D-Xは、 2Dゲームを手軽に開発できるフレームワークのことです。 iPhone(iOS)向け、Android等に対応しており、 実質ワンソースで開発が可能です。

0グッド

0クリップ

投稿2016/02/25 11:23

編集2016/02/25 12:21

初めて投稿させて頂きます。
どうぞ、よろしくお願い致します。

現在、cocos2d-x(V3.6)でプログラムを書いており、以下のようなソースを記載していますが、希望の動作になってくれません。
希望している動作にする為には、どのように変更すればよろしいでしょうか?
※cocos2d-xは基本的にC++がベースです。

<現在のソース(抜粋&簡略化しています)>

int Num1 = 5645; int Num2 = 432; int Num3 = 9099; int Num4 = 54; //スコア表示 for (int i = 1; i <= 4; i++) { // 各スコア表示 auto ScoreCal = StringUtils::format("Num%d",i); auto ScoreLabel = Label::createWithSystemFont(ScoreCal, "Marker Felt", 40); ScoreLabel->enableOutline(Color4B::BLACK, 1.5); ScoreLabel->setPosition(Vec2(400, 400+i*100)); this->addChild(ScoreLabel); }

<希望している動作>
以下が表示される。
5645
432
9099
54

<現在の動作>
以下が表示される。
Num1
Num2
Num3
Num4

以上となります。
どうぞよろしくお願い致します。

※一部、投稿内容を修正させて頂きました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

C

1int arr[] ={Num1,Num2,Num3,Num4};//追加 2//スコア表示 3for (int i = 1; i <= 4; i++) 4{ 5// 各スコア表示 6auto ScoreCal = StringUtils::format("Num%d",arr[i - 1]); //修正

これでどうでしょうか

投稿2016/02/25 12:35

kabuto_0170

総合スコア28

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tako_master

2016/02/25 15:56

ご回答ありがとうござました。 頂いた内容で実装することができました。 ありがとうございます。 配列を使用すればよかったのですね。 たいへん勉強になりました。
guest

0

c

1for (int i = 1; i <= 4; i++) { 2 // 各スコア表示 3 auto ScoreCal = StringUtils::format("%d",i * 100); //修正 4 auto ScoreLabel = Label::createWithSystemFont(ScoreCal, "Marker Felt", 40); 5 ScoreLabel->enableOutline(Color4B::BLACK, 1.5); 6 ScoreLabel->setPosition(Vec2(400, 400+i*100)); 7} 8

これでどうですか?

投稿2016/02/25 11:31

sekitaka_1214

総合スコア509

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tako_master

2016/02/25 12:18

さっそくのご回答を頂き、ありがとうございます。 また、私の記載の仕方が悪く、申し訳ありません。 簡略化の為に、Num1〜4を100〜400にしておりましたが、実際にはここにはランダムな数字が入ります。この為、現在ソースと希望の動作/現状の動作を以下のように修正させて頂きます。 <現在のソース(抜粋&簡略化しています)> int Num1 = 5645; int Num2 = 432; int Num3 = 9099; int Num4 = 54; //スコア表示 for (int i = 1; i <= 4; i++) { // 各スコア表示 auto ScoreCal = StringUtils::format("Num%d",i); auto ScoreLabel = Label::createWithSystemFont(ScoreCal, "Marker Felt", 40); ScoreLabel->enableOutline(Color4B::BLACK, 1.5); ScoreLabel->setPosition(Vec2(400, 400+i*100)); this->addChild(ScoreLabel); } <希望している動作> 以下が表示される。 5645 432 9099 54 <現在の動作> 以下が表示される。 Num1 Num2 Num3 Num4 お手数をおかけいたしますが、再度よろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問