プログラミング教えて
1投稿者:頑固アンマ機  投稿日:2011年05月24日(火) 14時53分22秒
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
int xPos = arc4random()%320;
int yPos = arc4random()%460;
babaa.center = CGPointMake(xPos,yPos);

これは

1秒以内でランダムな座標にキャラが移動する

という書き方なんだけど

これを
10秒間キャラがランダムな位置に移動し続ける
という書き方に変えたいです
教えて下さい
2投稿者: 投稿日:2011年05月24日(火) 14時55分09秒
ちなみに

for (int i=0; i<10; i++) {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
int xPos = arc4random()%320;
int yPos = arc4random()%460;
babaa.center = CGPointMake(xPos,yPos);
[UIView commitAnimations];
}
とやっても無理でした
3投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月24日(火) 14時55分21秒
[UIView setAnimationDuration:10];

じゃダメなの?
4投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月24日(火) 14時55分31秒
while文で10秒間繰り返せばいいよ
5投稿者: 投稿日:2011年05月24日(火) 15時12分01秒
僕の最初の書き方がおかしい、ごめん。
☓1秒以内でランダムな座標にキャラが移動する→○1秒かけてランダムな座標にキャラが移動する
>3 だからそれだと10秒かけて1回動くことになる。

>4 ホワイル文って繰り返しのやつですか?一度調べてやってみます
6投稿者: 投稿日:2011年05月24日(火) 15時12分46秒
適当に言いました
7投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月24日(火) 15時39分09秒
無理でした、って>>2を実行するどうなるんスかね?まったくキャラ(babaa?)が移動
しないんスか?それとも10回移動しないけど、動きはあるとか?
8投稿者: 投稿日:2011年05月24日(火) 15時41分10秒
はい

>7
移動はするんですけど1回しか移動してくれないんですよ
でも目に見えて内だけで10回移動してるのかも???
9投稿者: 投稿日:2011年05月24日(火) 15時43分14秒
>>2を実行しても1回しか移動してくれないんですよ

多分、1秒かけてそこに移動するわけだから
一瞬で10回分のランダムな位置を考えるけど
移動するのは1秒かかるから結局最後に考えた位置に行くようにしか見えないってことなのかなあ?
10投稿者:よくわからん  投稿日:2011年05月24日(火) 15時54分33秒
[UIView setAnimationRepeatCount:10];

を付け加えるとかは?
11投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月24日(火) 16時02分36秒
コレだけだといつ表示されるんだかわからんな
スレッド構成なんかはどうなってるんだ
12投稿者:1  投稿日:2011年05月24日(火) 16時04分19秒
>>10
どうやら詳しそうな人が出てきましたね、ちょっとまってください 試してみます

>11
プログラムが読み込まれた直後です ビューディドロードという場所に書いています
13投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月24日(火) 16時07分57秒
>>2に1秒スリープするようなコードを追加すればいいんじゃないの?
ちなみに、僕が詳しいのはJavaだけですけど
14投稿者:1  投稿日:2011年05月24日(火) 16時08分17秒
>>10
同じ場所にですが、10回移動しました
これはきざしが見えてきたような気がします
15投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月24日(火) 16時15分16秒
[UIView setAnimationDelay:アニメーション開始待ち時間(秒)];

てやつなのかなあ
16投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月24日(火) 16時17分21秒
>>13の感じだと思うッス。自分、Core Graphics は使ったことないんで
わからないですが, UIView にメソッド投げっぱなッスから>>2だとUIView
上で描画が実行される前に立て続けに10回メソッド投げつけられしまう気が
するッスよ。毎回1秒スレッドスリープさせるように書いたらどうスかね
17投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月24日(火) 16時20分16秒
commitAnimations って void 型じゃないッスか?値帰ってこないから
UIView での実行終了は待ってくれないんじゃないスか?
18投稿者:1  投稿日:2011年05月24日(火) 16時27分41秒
いや〜、みなさんありがとうございます。
おれ全然プログラミングだめなので助かりますよ!
19投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月24日(火) 16時48分45秒
>>14
arc4random() の代わりに srand() とrand()を使ったらどうですか?
20投稿者:1  投稿日:2011年05月24日(火) 20時45分49秒
arc4random=srand=randだと思ってました!
違うんッスね?
ちょっと妥協して別のプログラムで提出しましたが
オレは1でやりたかったことを解決するまでやりたいです!
21投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月24日(火) 21時09分22秒
や、だから>>1 を実行するメソッドを定義・実装して、それを1秒間隔で
10回繰り返すのがいいんじゃないッスかね。

[NSThread sleepForTimeInterval:1.0f];

でスレッドを1秒スリープできるス
22投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 10時19分31秒
a.hとa.mがあってa.hでint unkoと宣言していて
a.mでunkoを使っているんですが
b.mでもunkoを使いたい場合、どうすればいいんでしょうか?
b.hに#import "a.h"と書いてもだめでした。
23投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 10時30分55秒
や、よくわかんないんスけど、aオブジェクトの変数 unko に
bオブジェクトからアクセスしたいっつー話ッスか?

他のオブジェクトの変数にはアクセスできないッスよね。
アクセッサメソッド定義実装して使えばいいんじゃないスか?

それともa.unko とかで外から読みだせるんでしたっけ?
24投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 10時58分34秒
ここに書いてる通りにやると
a.hに@property(nonatomic,retain)a *unko;と書いて
b.mで@synthesize unko;こういうことですか?

http://ameblo.jp/micro-garden/entry-10338112606.html
25投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 11時14分23秒
あー、そういう便利なのあったスね>>24。不勉強だったッス

や、でも
>a.hに@property(nonatomic,retain)a *unko;と書いて
>b.mで@synthesize unko;こういうことですか?

はいろいろ間違いッスよ。>>24のリンク先の通りに
なっていないス。

とりあえずこっちよんだ方がいいと思うス
http://developer.apple.com/jp/documentation/cocoa/conceptual/objectivec/Articles/chapter_5_section_2.html
26投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 11時30分15秒
読みます
27投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 12時20分59秒
わからないよ〜(;_;)
28投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 12時37分42秒
unko が整数型で、外から読み書きできる、ということでいいなら a.h に

@property (readwrite) int unko;

a.m に

@synthesize unko;

でいいと思うッス。unko はあくまでも a の変数だから a のクラスでアクセッサを
用意しないとダメっす。で、 b クラスオブジェクトから a クラスオブジェクトの
unko にアクセスするときは‥‥ a, b の関係がわかんないとあれスけど、とりあえず

babaa = [[a alloc] init];

とか b 上で a クラスオブジェクト babaa を生成してるなら

babaa.unko

で unko の値は読み書きできるス。あ、 unko はちゃんと初期化しといてくださいッス
29投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 13時07分12秒
b上でaクラスオブジェクトを生成するのはどうやればいいの?(;_;)

a.mで動きまわるbabaaをタップすると点数(変数unko)が1ずつ上がっていって
b.mでunkoの値を取得して点数分のうんこが増えるようにしたいんです
30投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 13時51分48秒
や、もうどっからつっこんだらいいのかわかんないスけど、
>>1=>>29ならもう babaa は画面上に表示されてるんスよね?
どうやって babaa を生成・初期化してるんすかね?
babaa にアクセスする方法はそこのところがどうなってるかによるでしょう
31投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 14時03分23秒
babaaに関する事はインターフェースビルダーで、ボタンにババアの画像を張り付けてるのと
a.hでIBOutlet UIButton *babaa;
a.mでアニメーションの操作とかを書いてます

どうかこれでお願いします
32投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 14時32分04秒
じゃ b.h でも IBOutlet UIBUtton *babaa; って宣言して、
IB上で b のアウトレット babaa とそのババアボタンを接続すれば
いいんじゃないスかね?それで b からも babaa.unko で
unko にアクセスできると思うス 
33投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 14時52分06秒
今更これを書くと怒られそうなんですが
aとbのビューは別々なんです。(aがババア捕まえ画面、bがスコア画面)
だからなのか、b のアウトレット babaa をaのババアボタンに繋げないです。
この場合どうしたらよいのでしょうか

自分は学習力が無いので、誤認している言葉を使ったり考えるべき事を履き違えていたりするかもしれませんが
ここはひとつどうか宜しくお願い致します。
34投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 15時24分32秒
すみません、ビューが違うからつなげないというのは
ちょっと意味がわからないス。

Xcode 4 なら IB オブジェクトと Xcode 上でコードを
直接つなぐという機能があるので、それ使えばいけるん
じゃないスかね

http://sazameki.jp/translations/xcode4/IDEs/Conceptual/Xcode4TransitionGuide/InterfaceBuilder/InterfaceBuilder.html

Interface Builder オブジェクトとソースコードを直接接続する
35投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 15時45分59秒
>コードが追加できる場所であれば、Xcode は挿入することを表す横棒を表示します(図 4-11)
a.h上のUIButtonとかには線棒が表示されるッスが、b.hのUIButtonには線棒が出ないです。
36投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 15時57分42秒
それはビューが違うからではないでしょう。宣言の間違いとか、スペルミス
なんかじゃないですかね?あと、ちゃんと b.m の冒頭で a.h を import
してるッスか?

>>22
>b.hに#import "a.h"と書いてもだめでした。

ってありますけど、実装ファイルでヘッダファイル a.h を import しないと
意味ないスよ。b.h ではa.h をimportせずに @class a でいいス
37投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 16時30分37秒
結べないよぉ〜〜(T_T)
確かにおれはスペルミスで何時間もつまった事が何度もあるので
もう1回最初からやってみます
38投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 16時31分13秒
麻耶犬おまえはほんと質問ばっかだな
39投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 16時43分34秒
鈴木か?
40投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 16時46分32秒
田中か?
41投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 16時58分08秒
お役に立てなくて申し訳ないッス
42投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 17時42分49秒
とんでもない!!出来たら必ずここにコードまるごと書きにきます!
出来なかったらまた聞きに来ます!
43投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 18時58分03秒
a.hに
@interface a
{
int unko;
}
@property(readwrite) int unko;
@end

b.mに
a *kuso = [[a alloc] init];
benki = kuso.unko;
↑benkiというUILabelです

これでエラーは出なくなりましたが
kuso.unko++;
してるのにbenkiのラベルで確認するに1までしか増えないです。
ちなみにa.mにもa *kuso = [[a alloc] init];と書いて
kuso.unko++;
としてます。
a.mにあるのはババアを押すごとにkuso.unko++;という記述です。
initというのが気になり、調べてみたところ、初期化ということなのでinitを外したりしてみましたが同じです。

なんでbenkiの数字が増えていかないんでしょうか?
44投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 20時15分24秒
素直にウンコをプラスするメソッドを実装すればいいんじゃないの
45投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月25日(水) 21時27分56秒
これまたどの穴からツッこんでいいのかわかんないッス>>43
46投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月26日(木) 05時47分42秒
もうおれ何質問してもお門違いなんでこのへんの基礎から勉強するっす
でもこのへんがどのへんかわからないっす
おねげしゃっす
47投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月26日(木) 12時22分46秒
オブジェクトの生成・初期化について理解していないのは問題だと思うッス。
オブジェクトの実体(?)はメモリ上のデータなわけッス。メモリ上に
オブジェクトを格納するための領域を確保して、それからオブジェクトを
初期化してメモリ上におくという順番。
alloc :メモリ上に領域を確保する
init :オブジェクトの属性(いろんな変数なんか)を初期化設定する
MyBabaa オブジェクトを作りたい場合なら基本的には

MyBabaa *babaa;
babaa = [[Mybabaa alloc] init];

とするス。でもアッポルの提供する開発環境ではメモリ確保と初期化のため
のコード書きを省略してくれる便利なしくみがあるス。Interface Builder
上でウインドウにビューやボタンオブジェクトをホイホイおいてあれこれ
属性を盛ってウインドウを作れるのは>>1も知ってると思うッスけど、
これは [[NSXxxx alloc] init]; をコード上で実行するのと同義ッス。
すでに IB 上で a クラスオブジェクトを置いている(んスよね?)のに、そこで
[a alloc] init] を実行したら a クラスオブジェクトを2重に生成した
ことになるス。[[a alloc] init] でつくった babaa は画面上の babaa
とは別個のオブジェクトになるス。
48投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月26日(木) 12時30分30秒
で a が何のクラスかわからんスけど、これまでの書込みの行間を読むに
ビューのクラスだと仮定するス。ビューの場合はただ init で初期化しても
画面上には表示されないス。当然、ポインティングデバイスや指での操作
で発生するイベントにも反応しないでしょう。
で、>>43 では [[a alloc] init] で生成した babaa の unko 見てる
わけスから、ユーザイベントにも反応できないその babaa の unko は変わらないッス。むしろ、+1されるのがありえないス。もうわけわかんないスよ
49投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月26日(木) 21時50分43秒
スさんのおかげでunkoの受け継ぎは何とか解決しそうっす!
でもまた問題がでたっす
今作り直してるんすけど何故かババアを押すと4ずつプラスされていくっす!!
kuso++;がおかしいんすか?
50投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月26日(木) 23時44分11秒
事故解決したっす!変数宣言のときに*をつけてたからっす!
よくわからんけど解決してよかったっす!
51投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月26日(木) 23時54分25秒
a.mで
kuso++;
NSUserDefaults* kaki = [NSUserDefaults standardUserDefaults];
[kaki setInteger:kuso forKey:@"unkoire"];
benki.text = [NSString stringWithFormat:@"%03d",kuso];

b.mで
NSUserDefaults* yomi = [NSUserDefaults standardUserDefaults];
int kusokazu = [yomi integerForKey:@"unkoire"];
score.text = [NSString stringWithFormat:@"%d個!",kusokazu];

でどっちでも読めるようになりました
52投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月27日(金) 10時25分45秒
>>49-50
自分、何か試されてるんスかね。
それともからかわれてるんでしょうか
53投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月27日(金) 14時03分49秒
おれ時々質問モードに入った時、相手にいっつもキレられるけど
きっと何か失礼なことをしてるんだろうけど
なんで怒らせてるかピンと来ないんだけど
皆が怒るから多分絶対俺がおかしいんだろうなぁ
俺がある程度出きる様になった時に今の俺みたいなやつを見たらブチギレるかもしれねえ
多分悪い事してるんだろうけど今はまだ俺がそれが悪い事って気付けてないんだよ
いろいろごめん!ありがと!
俺は多分簡単な方法に逃げたんだけど
俺が最初にやろうとしてスさんが教えてくれようとしたやり方も理解できるようがんばるよ。
54投稿者:ヾ(゚д゚)ノ゛バカー  投稿日:2011年05月27日(金) 15時47分30秒
別にキレても怒ってもいないッスよ
投稿者 メール  
(゚Д゚) <