Nə dəyişən float həmişə 0 olur, baxmayaraq ki dəyəri dəyişdirdim

Bu gün mən iki maraqlı problemlə tanış oldum. Mən kodlaşdırma işimdə budur

1.In.H faylında dəyişən float "currentPer" və dəyişən CCProgressTime "_strengthBar"

2.In UIPanGestureRecognizer funksiyasını "processPanGesture ()" funksiyasına zəng edin, barmağın hərəkət məsafəsini hesabladım, sonra CCProgressTime-nin faiz göstəricisini güncellirdim. Lakin ekranda CCProgressTime'in görünən hissəsi yenilənmir. Mənim ilk sualım belədir: yüzdəki atribut dəyişikliyə gedərkən CCProgressTime ekranda nə üçün güncellenmiyor ?

3. Nəhayət, yenilənmiş dəyişən "currentPer" barmaq geri hərəkət funksiyasıPanGesture () hərəkət məsafə ilə. Sonra "update" üsulunda currentPer yazıram, amma nəticə həmişə "0", (print_stregnthBar faiz, həmçinin "0" olsa da, mən prosesininPanGesture-də dəyərini dəyişdirdim) Niyə? Yəni, currentPer dəyərini processPanGesture () 'da dəyişdim. Amma bu niyə işləmir ? Mənə dediklərim hələ də aydın deyilsə, Ekrana baxın. Hər hansı bir yardım mənim üçün çox vacibdir, diqqətinizə görə təşəkkür edirəm!

Image 1.AppDelegate.appFinishDidLaunchOption (), Qeydiyyat PanGestureRecognizer

Fayl 2.GameLayer.H

Şəkil 3.GameLayer.mm, init (), İlkin dəyişənləri işə salın

Şəkil 4.GameLayer.processPanGesture (), jest tanıyan geri çağırış funksiyası

Image 5.GameLayer.update ()

2019

-10
13 нояб. Chailie 13 Noyabr tarixində təyin olundu 2012-11-13 17:45 '12 'də saat 17 : 45-da 2012-11-13 17:45
@ 2 cavablar

Nəhayət, səbəbi həll edəcəyəm: GameLayer səbəbiylə PanGestureRecognizer qeydiyyatdan keçmək üçün istifadə edilən bir nümunə və ekranı göstərmək üçün istifadə edilən GameLayer B örneği eyni deyil. Beləliklə, processPanGesture () funksiyası yalnız dəyişiklik nümunəsidir. CurrentPer, B currentPe bir nümunəsini yazarkən

0
18 нояб. Cavab Chailie tərəfindən 18 noyabrda verilir. 2012-11-18 16:17 '12 at 4:17 pm 2012-11-18 16:17

Bunu sınayın;

 NSNumber * currentPer; 

NSNumber-ə float dəyərini təyin etmək üçün NSNumber dəyərini (float) istifadə edin.

border=0

və istifadə edərkən

 [currentPer floatValue]; 

Burada NSNumber istifadə niyə bir qısa izah edir.

0
14 нояб. cavab 14 noyabr 2006-cı ildə verildi. 2012-11-14 19:55 '12 saat 7:55 pm 2012-11-14 19:55

etiketləri haqqında digər suallar və ya bir sual