好了,我上次成功构建,所有我做的是尝试添加谷歌Play服务我的游戏,从这里.
我导入了Unity包,并在相关的设置窗口中设置了Android的google play游戏.
我试着在这一点上进行构建,但是我无法在构建dex文件时收到这个奇怪的错误,表明aar文件之间存在冲突.我把它缩小到由资产/插件/ android/play-services-base-9.0.2和assets/plugins/android/play-services-basement-9.0.2引起的.
我取消选中这两个为android构建的转换为dex错误的东西消失了.我以为这样就行了.
然后,我将应用程序推送到Google Play(alpha环境)以及用于Google Play的小型控制器脚本,以便在start()上登录:
void Awake()
{
// recommended for debugging:
PlayGamesPlatform.DebugLogEnabled = true;
// Activate the Google Play Games platform
PlayGamesPlatform.Activate();
}
void Start()
{
Login();
}
void Login()
{
Social.localUser.Authenticate((bool success) => {
LoggedIn = success;
});
}
Run Code Online (Sandbox Code Playgroud)
然而Unity在打开第一个场景之前似乎崩溃了.它在启动时立即崩溃.这里可以看到logcat的东西.
问题似乎发生在第842行:
10-07 06:03:06.282: E/AndroidRuntime(9551): FATAL EXCEPTION: main
10-07 06:03:06.298: W/ActivityManager(771): Force finishing activity 1 com.PINGUAPPS.TEMPLATE/com.unity3d.player.UnityPlayerNativeActivity
10-07 06:03:06.339: W/ActivityManager(771): Force finishing activity 2 com.google.android.apps.mtaas.backdrop/.BackdropActivity
10-07 06:03:06.402: D/Atlas(771): Validating map...
Run Code Online (Sandbox Code Playgroud)
我不知道如何解决这个问题?
::附加信息:: …
我之前从未使用过cookie,因此我使用了一些我不熟悉的代码.
它工作得很好,直到我刚才注意到对于选择框,它不适用于第十个索引之后的任何值.(索引10及以上).
我查看了存储在我的系统上的cookie,似乎正确地保存了它们.(我看到select10)ETC存储得当.
然而,当它运行onload主体时,它没有正确加载值.
这是我正在使用的cookie代码:
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var expDays = 100;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1) { endstr = document.cookie.length; }
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) …Run Code Online (Sandbox Code Playgroud) 所以,我对装饰者/装饰者知之甚少,但在这里给出了一个很好的答案,使用它们.
我试图实施它们,但它们似乎不像它们给出答案的人那样工作.我尽力保持一切尽可能相同.
这是我的XAML:
<models:TipFocusDecorator x:Name="LoginDecorator"
TipText="Enter your username and password and click 'Login'"
IsOpen="{Binding ShowLoginTip}"
Grid.Column="1" Grid.Row="1">
<Image Grid.Column="1" Grid.Row="1" Source="{Binding EnemyImagePath, FallbackValue={StaticResource DefaultImage}}" MaxWidth="500" MaxHeight="500">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseUp">
<i:InvokeCommandAction Command="{Binding EnemyAttack}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Image>
</models:TipFocusDecorator>
public class TipFocusDecorator : Decorator
{
public bool IsOpen
{
get { return (bool)GetValue(IsOpenProperty); }
set { SetValue(IsOpenProperty, value); }
}
// Using a DependencyProperty as the backing store for Open. This enables animation, styling, binding, etc...
public static readonly DependencyProperty …Run Code Online (Sandbox Code Playgroud) 我已经尝试了 100 万件事,我快到了……
我有一个边框,我想要一个箭头向上指向(在我完成此操作后,我将对每一侧和底部都做同样的事情)。这是我到目前为止所拥有的:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<Polygon Points="5,0 10,10, 0,10" Stroke="Black" Fill="White" Grid.Row="0" HorizontalAlignment="Center" Margin="0,0,0,-2" Panel.ZIndex="10" StrokeThickness="2" StrokeDashArray="1 0" />
<Border Background="#00000000" BorderBrush="Black" BorderThickness="2" CornerRadius="10" Grid.Row="1">
Run Code Online (Sandbox Code Playgroud)
多边形创建了一个完美的箭头,但三角形的底部边框是黑色的,我希望它是白色的。不知道如何让它变成白色,看起来像白色的 BG 流进了箭头。这是到目前为止的样子:
我想摆脱它下面的那条黑线。如果有完全不同的方法我应该尝试,我很感兴趣:)
我想为WPF窗口设置动画。它设置为内容的大小,因此当内容更改时,窗口也会更改大小。但是我不希望它捕捉到新的大小,当它确定需要新的大小时,我希望它可以通过动画在新旧值之间徘徊。
我该如何设置?
编辑:我正在使用SizeToContent = WidthAndHeight“作为我的窗口的参数,并希望在它自动调整大小以显示不同内容时进行动画处理。
我在使用 MAUI 应用程序时遇到问题,很少出现未处理的 NavigationFailed 异常。我有一个主视图,它导航到具有以下内容的辅助页面:
await Shell.Current.GoToAsync($"{nameof(AddCollectionPage)}", true, new Dictionary<string, object>
{
{"Contracts", queryStringBuilder.ToString() }
});
Run Code Online (Sandbox Code Playgroud)
然后第二页中有一个按钮可以向后返回,使用以下命令:
await Shell.Current.GoToAsync("../");
Run Code Online (Sandbox Code Playgroud)
现在效果很好,1000 次中有 999 次可能没有问题……但应用程序崩溃的情况很少见。在调试时,它在 App.gics 中的 UnhandledException 点处中断,代码如下:
UnhandledException += (sender, e) =>
{
if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break();
};
Run Code Online (Sandbox Code Playgroud)
调用堆栈仅包含 4 个条目 - 其中 2 个是外部代码,1 个是我在 App.gics 中发布的位置,另一个是调用 shell 导航的行。
刚才就遇到了这个问题,在代码中我调用导航从辅助页面返回主页面的“../”。这种情况确实很少见,但频率足够高,非常烦人。
当我包装调用 GoToAsync 的行(这会导致 try catch 中崩溃并记录它捕获的异常)时,我得到以下信息(错误和堆栈跟踪)。其中的底线引用了我的代码中调用 GoToAsync 的部分,其他所有内容都是 MAUI 框架的内容。
System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.
at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|20_0(Int32 hr)
at …Run Code Online (Sandbox Code Playgroud) 当用户第一次运行我的程序时,我希望他们通过一系列提示.每次他们点击某个"检查点"时,程序会暂停它的操作,背景会有点模糊(除了提示引用的窗口区域),并且提示将出现在顶部,解释如何使用它/做什么等
我不知道该怎么称呼它,在我脑海里它被称为"教程提示",但谷歌搜索任何与此相关的东西显示了大量的WPF/C#通用教程.
最好的方法是什么?我真的只是看着使用弹出窗口和控制它们何时可见?是否有更好/更优雅的解决方案或任何资源来帮助解决这个问题?
我有一个ObservableCollection项,我需要能够更新并使用ICollectionView表示数据.
以下是相关的代码:
private ObservableCollection<Hero> heroesDBHeroes;
public ObservableCollection<Hero> HeroesDBHeroes
{
get
{
return heroesDBHeroes;
}
set
{
heroesDBHeroes = value;
OnPropertyChanged("HeroesDBHeroes");
}
}
private void HeroesDBAddHeroes()
{
if(HeroesDBHeroes != null)
{
HeroesDBHeroes.Clear();
}
HeroesDBHeroes = Hero.GetAllHeroes();
HeroesDBFilteredHeroes = new ListCollectionView(HeroesDBHeroes);
HeroesDBFilteredHeroes.Filter = new Predicate<object>(HeroesDBFilterHeroes);
HeroesDBFilteredHeroes.Refresh();
OnPropertyChanged("HeroesDBFilteredHeroes");
}
Run Code Online (Sandbox Code Playgroud)
这是CollectionView及其过滤器:
public CollectionView HeroesDBFilteredHeroes { get; set; }
public bool HeroesDBFilterHeroes(object item)
{
Hero h = item as Hero;
bool ID, Name, GoldMinimum, GoldMaximum, PlatinumMinimum, PlatinumMaximum, DBTag, ReleaseDateStart, ReleaseDateEnd, Available, Sale, Featured, New, F2P, …Run Code Online (Sandbox Code Playgroud) 好的,所以我之前收到的答案在这里,效果非常好.然而,在已知问题中,它提到了以下内容:
此外,这将无法立即在UserControls内部工作,因为
AdornerLayer.GetAdornerLayer(AdornedElement)将null在UserControls内返回.这可以通过查找(或父级的父级,递归)AdornerLayer的PARENT 来轻松修复UserControl.有这样的功能.
因此,我在大多数情况下都使用了代码,但是当我尝试在tabcontrol中的元素上使用它时遇到了问题.而不是具有所需的效果,模糊效果仅适用于TabItem,而不是整个窗口.此外,tabItem的内容似乎打印出几次作为各种视觉画笔.这是一个例子.Custom Decorator包含一个包含2个文本块的stackpanel,一个包含"GP:",另一个包含一个数字.以下是在标签项中应用此内容时的前后照片:
那么,我该如何纠正这个?
我会在这里发布我的代码片段,因为我已经稍微修改了它们的答案(虽然不是以"破坏"这个方式)
这是XAML,带有装饰器:
<models:TipFocusDecorator IsOpen="{Binding TutorialBoolGP}" TipHead="{Binding TutorialTitle}" TipText="{Binding TutorialDescription}" TipPos="{Binding TutorialPosition}">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Background="Transparent">
<TextBlock Text="GP: " />
<TextBlock Text="{Binding PlayerGP, Converter={StaticResource IntToComma}}" />
</StackPanel>
</models:TipFocusDecorator>
Run Code Online (Sandbox Code Playgroud)
装饰者:
public class TipFocusDecorator : Decorator
{
public bool IsOpen
{
get { return (bool)GetValue(IsOpenProperty); }
set { SetValue(IsOpenProperty, value); }
}
// Using a DependencyProperty as the backing store for Open. This enables animation, styling, binding, …Run Code Online (Sandbox Code Playgroud) 我花了几个小时在MVVM上寻找WPF的教程.
我是一个很好的方式来编写我的第一个大型WPF应用程序,并习惯于"旧方式"的做事,我没有使用MVVM /甚至不知道它是什么.
所以,我已经开始使用一些库,我现在基本上需要使用MVVM ...(正如我在这里发现的:如何在不同的类中检查WPF元素的属性?)
我一直在尝试使用教程ETC尽我所能,但我缺乏知识,我只是失去了每一个教程,并且不知道发生了什么.
我是一个可以用我所知道的事情做很多事情的人,但是看到我是一个了解课程的人,知道他们通常被分成不同的文件,但理想情况下更愿意只有一个超长课程.你是否知道任何可以让我摆脱默认的材料,并希望以这种方式做到这一点,并完全理解我在用MVVM做什么?
教程等交互性越强,越好...... :)
我有一个 ObservableCollection 和一个使用 OC 作为源的 ICollectionView:
private ObservableCollection<Comment> _Comments = new ObservableCollection<Comment>();
/// <summary>
/// Comments on the account
/// </summary>
[BsonElement("comments")]
public ObservableCollection<Comment> Comments
{
get
{
return _Comments;
}
set
{
_Comments = value;
OnPropertyChanged("Comments");
OnPropertyChanged("CommentsSorted");
}
}
private ICollectionView _CommentsSorted;
/// <summary>
/// Sorted list (reverse order) of the comments
/// </summary>
[BsonIgnore]
public ICollectionView CommentsSorted
{
get
{
return _CommentsSorted;
}
set
{
_CommentsSorted = value;
OnPropertyChanged("CommentsSorted");
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个命令,运行:
obj.Comments.Add(new Comment(Message));
Run Code Online (Sandbox Code Playgroud)
其中 obj 是包含可观察集合的类的实例。
调用此行时,我遇到以下异常: …
使用Mahapps.metro,并遇到问题。
我想分页页面内容,所有内容都通过Metro窗口中的框架控制。
我有两件事我不知道该怎么做,这很容易,而在一个没有页面的窗口内全部工作。
首先,我想使用他们的对话框。下面的行以前一直在窗口中直接使用,因此可以正常工作:
await this.ShowMessageAsync("This is the title", "User Setting: " + x);
Run Code Online (Sandbox Code Playgroud)
但是,它现在出现以下错误:
实例参数:无法从“ GameWindow.MainMenu”转换为“ MahApps.Metro.Controls.MetroWindow”
我尝试寻找答案,并尝试诸如
await this.Parent.ShowMessageAsync("This is the title", "User Setting: " + x);
Run Code Online (Sandbox Code Playgroud)
但一切都无济于事。
其次,我在窗口中配置了弹出按钮,也需要从框架内的页面进行访问。我也不可能一辈子都知道这一点...