簡體   English   中英

在 XNA 中使用 AdDuplex - Silverlight WP7 混合應用程序

[英]Using AdDuplex in a XNA - Silverlight WP7 hybrid application

可以證明,你們中的大多數人都知道 AdDuplex 可以交叉推廣 WP7 應用程序和游戲。 該廣告引擎提供兩個 SDK,一個用於 XNA 游戲,另一個用於 Silverlight 應用程序。

我有一個 SL-XNA 混合游戲,我找不到讓廣告在這樣的環境中工作的方法。 我已經能夠在 XNA 圖形環境中使用 Silverlight UIElementRenderer 呈現廣告,但我找不到處理點擊它的方法。

這是 XAML 的樣子:

<Grid Name="root" Margin="0,0,0,7000" Width="480" Height="90" Background="Black" >
    <adduplex:AdControl x:Name="adDuplex" xmlns:adduplex="clr-namespace:AdDuplex;assembly=AdDuplex.AdControl.Silverlight"
        AppId="10675" 
    />
</Grid>

我聽說有人在這樣的環境中使用過 adDuplex。 關於如何做的任何想法? 謝謝。

沒有看到后面的代碼和完整的 XAML 我不能肯定地說,但線索在 Margin="0,0,0,7000" 中。 我的猜測是您將 AdDuplex 控件繪制在與其實際位置不同的位置。

如果你正在初始化 UIElementRender 是這樣的

    renderer = new UIElementRenderer(adDuplex, 480, 90);

像這樣畫

    renderer.Render();
    spriteBatch.Begin();
    spriteBatch.Draw(renderer.Texture, Vector2.Zero, Color.White);
    spriteBatch.End();

這樣就可以解釋問題了。 相反,在 AdDuplex 控件上設置 Margin="0"(確保它在頁面上可見)並使用頁面上的根元素初始化 UIElementRenderer。 默認情況下,這是一個名為“root”的網格,但您可能已將其更改為其他名稱。

renderer = new UIElementRenderer(root, 480, 800);

繪制代碼應該與上面相同。 AdDuplex 控件現在應該繪制在與實際控件相同的位置,點擊它應該會啟動 web 瀏覽器。

如果您不想每幀都繪制 480,800 bitmap,您可能需要修改此解決方案,但至少它會測試是否可以解決問題。

我在我的 SL-XNA 混合應用程序“Yaht 3D”中使用 AdDuplex 沒有任何問題。 聽起來你做的一切都是對的。 只需將 Silverlight 控件放入您的 XAML(使用您自己的應用程序 ID)。

        <adduplex:AdControl xmlns:adduplex="clr-namespace:AdDuplex;assembly=AdDuplex.AdControl.Silverlight"
                        AppId="1234"/>

並在 OnDraw 方法后面的代碼中使用 UIElementRenderer

    elementRenderer.Render();
    spriteBatch.Begin();
    spriteBatch.Draw(elementRenderer.Texture, Vector2.Zero, Color.White);
    spriteBatch.End();

AdDuplex 控件應為您處理點擊。

我使用了 Nick Gravelin 的這個助手 class,現在它就像一個魅力:

http://blogs.msdn.com/b/nicgrave/archive/2011/09/26/change-in-uielementrenderer-behavior-and-update-to-uielementrendererhelper.aspx

謝謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM