今日、2 つの興味深い問題に遭遇しました。以下は、コーディングで行ったことです。
1..H ファイルで、float 変数「currentPer」と CCProgressTime 変数「_strengthBar」を宣言しました。
2.UIPanGestureRecognizerのコールバック関数「processPanGesture()」で、指の移動距離を計算し、CCProgressTimeのパーセンテージ属性を更新しましたが、画面では、CCProgressTimeの可視部分が更新されていないので、最初の質問は、なぜCCProgressTimeが画面上で更新されないのかということです。パーセンテージ属性が変更されましたか?
3.最後に、コールバック関数 processPanGesture() で変数「currentPer」を指の移動距離で更新しました。次に、「update」メソッドで、currentPer を出力しますが、結果は常に「0」です (_stregnthBar のパーセンテージを出力する場合、processPanGesture で値を変更したのに、それも「0」です)。 processPanGesture() の currentPer の値。しかし、なぜ機能しないのですか? 私が言ったことについてまだ明確でない場合は、スクリーン ショットを参照してください。
図1.AppDelegate.appFinishDidLaunchOption(),Regist PanGestureRecognizer
図2.GameLayer.Hファイル
図3.GameLayer.mm ,init(),関連変数の初期化
図4.GameLayer.processPanGesture()、ジェスチャーレコグナイザーのコールバック関数
図5.GameLayer.update()