- 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投稿者:1 投稿日: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投稿者:1 投稿日:2011年05月24日(火) 15時12分01秒
- 僕の最初の書き方がおかしい、ごめん。
☓1秒以内でランダムな座標にキャラが移動する→○1秒かけてランダムな座標にキャラが移動する
>3 だからそれだと10秒かけて1回動くことになる。
>4 ホワイル文って繰り返しのやつですか?一度調べてやってみます
- 6投稿者:4 投稿日:2011年05月24日(火) 15時12分46秒
- 適当に言いました
- 7投稿者:ヾ(゚д゚)ノ゛バカー 投稿日:2011年05月24日(火) 15時39分09秒
- 無理でした、って>>2を実行するどうなるんスかね?まったくキャラ(babaa?)が移動
しないんスか?それとも10回移動しないけど、動きはあるとか?
- 8投稿者:1 投稿日:2011年05月24日(火) 15時41分10秒
- はい
>7
移動はするんですけど1回しか移動してくれないんですよ
でも目に見えて内だけで10回移動してるのかも???
- 9投稿者:1 投稿日: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秒
- 別にキレても怒ってもいないッスよ