Flex Book Componentのページ真ん中の黒ずみを消す方法
Flex book component (beta) : Ruben’s blogというナイスなコンポーネントがあります。こんな感じでeBookみたいなのを作るやつ。
ですがふつーに写真乗っけて本みたいにしようぜって思うと、本の真ん中が黒ずんで表示されます。
ネットで色々サンプルを探しても、みんなこの黒ずみは残ったままでした。
ハッキリ言ってこんなのかっこ悪くてしょうがないから、ソースを追いかけて消す方法を見つけました。
該当する箇所はココ。ソースファイルはBook.as。メソッド名はchildrenCreated。
//Book.asの390行目ぐらい /** * Draw additional graphisc for Pages where necessary. * * @private */ override protected function childrenCreated ():void { super.childrenCreated(); //この処理が黒ずみの折り目を描画してる // make sure that non-hard pages whose flipsides are hard don't have fold-gradients: for (var i:int=0; i<this._pages.length; i++){ Page(this._pages.getItemAt(i)).refreshFoldGradient(); } // create hit regions for page-corners: this.createRegions(); }
このPage.refreshFoldGradient()の中でGradients.asのdrawFold()が呼ばれ、fold=折り目が作られます。
なので、ここ全部コメントアウトすればまっさらになります。
そんだけ。
あと、pageflipする時にページがめくれて前のページがグレイアウトするような処理も走ってます。Book#addSmoothGradientsというメソッド。
ページングの時のグレイアウト的な描写も要らねーよって場合は、635行目ぐらいにあるのでそれをコメントアウトして下さい。dragPageCornerっていうメソッドの中にある。
色の調節はGradientsクラスで設定されてますので、いまひとつ設定方法よくわかんねーけど適当に色を変えてみたらいいと思います。