是否可以使用C#编写Windows 8 RT和/或Windows 8 Phone游戏?
好的,所以我把一个我一直在研究的游戏移植到Monogame,但是我现在有一个着色器问题,因为它被移植了.这是一个奇怪的错误,因为它适用于我的旧XNA项目,它也是我第一次在新的monogame项目中使用它,但除非我重新启动游戏,否则它也不会.
着色器是一个非常简单的着色器,可以查看灰度图像,并根据灰色从查找纹理中选择一种颜色.基本上我每次在屏幕上放置一个新的敌人时,都会使用它为一个敌人随机化一个精灵图像.它首次生成敌人,但在此之后不起作用,只是给出一个完全透明的纹理(不是空纹理).
另外,我现在只针对Windows桌面,但我计划在某些时候针对Mac和Linux.
这是着色器代码本身.
sampler input : register(s0);
Texture2D colorTable;
float seed; //calculate in program, pass to shader (between 0 and 1)
sampler colorTableSampler =
sampler_state
{
Texture = <colorTable>;
};
float4 PixelShaderFunction(float2 c: TEXCOORD0) : COLOR0
{
//get current pixel of the texture (greyscale)
float4 color = tex2D(input, c);
//set the values to compare to.
float hair = 139/255; float hairless = 140/255;
float shirt = 181/255; float shirtless = 182/255;
//var to hold new color
float4 swap;
//pixel …Run Code Online (Sandbox Code Playgroud) UPDATE
此问题也在以下网址中讨论过:https://github.com/mono/MonoGame/issues/2492
问题是如果应用程序仅允许以横向方向运行,而不是在使用纵向或两者时运行.
有一个以monogame编码的安卓游戏,我得到了一个GraphicsDeviceManager设置为FullScreen=true.
我使用GraphicsDevice.Viewport.Height和GraphicsDevice.Viewport.Width来确定设备的分辨率.这是非常好的,直到我得到三星更新,并不得不关闭FastDev.最大的神秘问题:
当我使用pc进行调试时,其高度和宽度viewport设置正确.但是当我拔掉并在1-2次之后播放应用程序后viewport.Height,设备的宽度viewport.Width就变成了设备的高度,这就完全让游戏无法播放.
很难找到解决方案,因为当我调试并将电缆从PC连接到设备时,这种情况永远不会发生.
任何人都有任何想法可能是什么?
我现在可以确认这是因为三星更新
我制作了世界上最简单的Android应用程序来测试它,只是得到一个带有背景图像"bg"的主机和一个spritefront打印出viewport.Width和viewport.Height.
这是代码:
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
namespace TestRes
{
/// <summary>
/// This is the main type for your game
/// </summary>
public class Game1 : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
SpriteFont font;
Rectangle _mainFrame;
Texture2D _background;
string text;
public Game1()
{
graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content"; …Run Code Online (Sandbox Code Playgroud) 我正在使用Xamarin开发使用Google Play游戏服务的Android游戏.我正在使用Genymotion Android Emulator进行测试.我遇到了一个似乎是Google Play或Xamarin实施中的错误的问题.
如果我退出Google帐户,则对IGoogleApiClient.IsConnected()的调用将继续返回true(即使我已经明确注销).如果我然后尝试使用该API对象,我会得到以下异常:
java.lang.SecurityException:调用API时未登录
例如,如果在注销后执行,则以下代码会导致上述异常:
public void StartNewMatch()
{
if (!mGoogleApiClient.IsConnected)
{
return;
}
Intent intent = GamesClass.TurnBasedMultiplayer.GetSelectOpponentsIntent(mGoogleApiClient, 1, 1, true);
StartActivityForResult(intent, RC_SELECT_PLAYERS);
}
Run Code Online (Sandbox Code Playgroud)
我正在Google Play游戏收件箱(匹配选择器)中退出; 如下图所示.
有没有人遇到过这个?我错过了什么吗?有任何解决方法吗?
注意:只有通过Google的用户界面退出时才会出现这种情况.如果我手动签署用户,等等mGoogleApiClient.Disconnect(),问题就不会发生; mGoogleApiClient.IsConnected()现在返回false(如预期的那样).



android monogame xamarin google-play-services google-play-games
我可以在WPF应用程序中将MonoGame与XAML混合使用吗?例如:用MonoGame编写的游戏核心,但用XAML编写的UI放在MonoGame-Canvas之上.我知道我可以在WinRT中使用MonoGame上的XAML.我可以在WPF中做同样的事情吗?
我正在使用Monogame将游戏从XNA转换为iOS.
在以下代码段的代码,smallDeform是一种Texture2D在其上予调用GetData方法.
smallDeform = Game.Content.Load<Texture2D>("Terrain/...");
smallDeform.GetData(smallDeformData, 0, smallDeform.Width * smallDeform.Height);
Run Code Online (Sandbox Code Playgroud)
我在使用Monogame时遇到了一些问题,因为iOS中的功能还没有实现,因为它返回了这个异常.
#if IOS
throw new NotImplementedException();
#elif ANDROID
Run Code Online (Sandbox Code Playgroud)
我尝试从Windows中序列化XML文件中的数据,以从iOS加载整个文件.序列化文件每个重量超过100MB,这是解析时无法接受的.
基本上,我正在寻找一种解决方法,以便在不使用该方法的情况下从纹理中获取数据(例如a uint[]或Color[])GetData.
PS:我在Mac上,所以我不能使用Monogame SharpDX库.
提前致谢.
我已经在VS 2013中使用了monogame,但我无法让内容管道工作.当我尝试导入现有的内容管道项目时,我收到以下错误.

由于2013年没有安装模板,因此我无法创建新项目.
由于我正在运行Windows 8,我无法安装XNA(安装程序停止说它需要Win 7或Vista).在这里阅读:https://github.com/mono/MonoGame/wiki/MonoGame-Content-Processing 似乎需要XNA ..?
编辑
Fex答案获取VS 2013中安装的模板,我可以创建一个新的MonoGame Windows项目.但是我仍然无法创建或打开内容项目,因为它们会因此错误而崩溃

我一直在寻找和搜索,但似乎无法找到适合我正在尝试做的解决方案,而且我几乎已经到了我必须问的问题是否有可能.
我正在使用Xamarin Studio开发iOS应用程序.我有一些不同的屏幕设置为UIViewControllers,他们运作良好.然而,应用程序的关键是一个游戏,我想使用Monogame,因为我之前使用它并喜欢使用它.
基本上,我必须从UIViewController切换到Game类.我可以通过简单地创建一个新的Game对象并调用Run()来做到这一点,但是当我需要并且将控制权返回给UIViewController时,我无法弄清楚如何离开游戏.
有没有人在应用程序中完成此操作?我已经尝试了所有我能想到的东西,但似乎没有什么可以做到的.它甚至可能吗?或者我是否需要重做它以便Monogame处理所有内容,甚至是应用程序中不属于实际游戏的所有其他内容?
谢谢!
所以,我一直在尝试Monogame使用Visual Studio在Windows Phone模拟器上启动模板,但我无法让它工作.
这是我尝试过的:
在我的项目中,我遇到了在Visual Studio中为Windows UAP创建Monogame项目的问题.我曾尝试使用向导工具创建项目,但在项目创建之后,我收到了需要安装Universal Platform Tools的消息
按下"安装"按钮后发生错误
见图2
,但无论如何都会弹出Visual Studio Setup窗口.我已经安装了所有已选择的功能,但这没有帮助.
见图3
解决方案资源管理器中的通知:此项目需要加载Visual Studio更新.右键单击该项目,然后选择"下载更新".
见图4
点击"下载更新"后,我将访问此网站
选择"重新加载项目"后,它会显示以下错误:
见图5
选择突出显示的选项"安装"后,它再次带我到上述网站.
有谁知道我错过了什么或在这种情况下我该怎么办?
安装软件:
Windows 10 Pro带有最新更新
Microsoft Visual Studio社区2015版本14.0.24720.00更新1
Visual Studio的Monogame 3.4
我正在从完整的桌面.net将我的游戏移植到UWP,我需要解决的一件事是如何将纹理,着色器等加载到游戏的UWP版本中.
在桌面版本中,我使用FileSystemWatcher来执行此操作,但在UWP中不存在FileSystemWatcher,即使在我完全控制的目录中也是如此.
UWP有同等效力吗?
使用UWP中有限的API集来实现此目的的最佳方法是什么?