さまざまな程度に光る必要があるカスタムボタンを作成しています
これらの写真を使用して、押したときにダイヤモンドが「光る」ボタンを作成し、この光が徐々に不活性状態に戻るようにするにはどうすればよいでしょうか?
私もいくつかの異なる色のダイヤモンドを大量生産したいと思っています...ここに示されている同じストック画像からすべての異なる色のダイヤモンドを生成したいと考えています。
利用可能な基本的な方法について頭を悩ませたいと思います。十分に詳細に、それぞれを確認して、どのパスを使用するかを決定できます...
これまでの私のもつれた努力...(解決策が展開するにつれて、これをすべて削除するか、おそらくいくつかの回答に移動します...)
3 つの潜在的なソリューション パスが表示されます。
GL
は、プロセスを完全にきめ細かく制御するために必要なすべてを備えているように見えますが、コア グラフィックスによって公開された関数は、興味をそそられるほど近くにあり、多数のソース ファイルにまたがる数百行のコードを節約できます。そのような基本的なタスクには少しばかげています。ブレンドを実現するためのコア グラフィックスとコア アニメーション
ドキュメンテーションは言い続けます
現在の塗りつぶしの色やその他の描画など、ペイントされていないサンプルの下にあるものはすべて透けて見えます。
そのため、{0,0,0}、つまりキーとして黒を設定して、左の画像をクロマキー マスクできます。
これにより、少なくとも透明な背景が確保されます。グレーではなく黄色にする作業が必要です。
代わりに、画像コンテキストに黄色の背景色を設定することから始めて、CGContextSetBlendMode(...) を使用して黄色にダイヤモンドを刻印し、クロマキー マスキングを使用して透明な背景を取得することもできます。
わかりました、これは少なくとも基本的な照明のない画像を画面上に表示することをカバーしています
いくつかのブレンドモードを使用して、キラキラした画像を重ねることができます。おそらく、現在のグレースケール状態を維持することができます。これにより、元の色が強調されます。
これに関する唯一の問題は、それが大量のリアルタイムブレンディングであることです
だから、アニメーションのすべての画像を事前に計算できるかもしれません...これはますます厄介に見えます...
Cocos2D
これにより、ブレンド モードを加算ブレンドに設定できる場合は、適切なアルファ設定を使用して、元の画像の上に光る画像を合成できます。