背景のスクロールをシミュレートする必要がありますが、実際の画像コントロールの移動は避けたいです。代わりに、をWriteableBitmap
使用し、ブリッティングメソッドを使用します。上にスクロールする画像をシミュレートする方法は何ですか?私はロジックに頭を悩ませることができないように購入するさまざまなことを試しました:
//X pos, Y pos, width, height
Rect src = new Rect(0, scrollSpeed , 480, height);
Rect dest = new Rect(0, 700 - scrollSpeed , 480, height);
//destination rect, source WriteableBitmap, source Rect, blend mode
wb.Blit(destRect, wbSource, srcRect, BlendMode.None);
scrollSpeed += 5;
if (scrollSpeed > 700) scrollSpeed = 0;
場合はheight
10で、画像は高さがあり、非常にあいまいとmoreso場合です1
。高さがより高い場合、画像はより鮮明になりますが、1対1のコピーしか行わないようです。連続ループで上に移動しているように見えるように画像を「スクロール」するにはどうすればよいですか?(画面の高さは700です)。
1
あなたがこれをしたい理由が本当にわかりません、背景画像を移動することの何が問題になっていますか?
—
aaaaaaaaaaaa 2011年
@eBusiness-複数のスクロールテクスチャを作成しようとしています。画面に合うものもあれば、小さいものもあります。私はそれを間違った方法で行っているかもしれませんが、Silverlightの表面にスクロールテクスチャをどのように作成しますか?
—
Skoder 2011年
背景について話していますよね?必要な背景を作成するために必要な場所に画像を配置します。そのようにしたくないと具体的に述べているが、理由はない。
—
aaaaaaaaaaaa
@eBusiness-スクロールする背景を作成するには、2つの画像コントロールが必要です。私は1つを上に動かし、それが画面から外れたときに、それを下にリセットしました(他のユーザーが同じことをしている間)。これはスクロール効果を与えます。背景以外のスクローラーでこれを行うと、画像コントロールはユーザーの目の前で消えてしまいます。それが私が取り組んでいたものであるという理由だけで、質問の背景を尋ねましたが、原理は他のスクロールテクスチャでも同じです。
—
Skoder
まあ、あなたが望んでいないものではなく、あなたが欲しいものを教えてください。3D環境では、UV座標を変更してスクロール効果を得ることができます。Silverlightのしくみは正確にはわかりませんが、実用的な2D環境では、テクスチャバッファーを経由する必要なく、画像の一部を画面に描画できます。
—
aaaaaaaaaaaa 2011年