最近项目中需要移动客户端,由于团队基本上使用.Net产品线,所以决定使用Xmarin进行开发,这样技术路线统一,便于后期维护.官网上是这样介绍的" Xamarin 允许你使用 .NET 代码和特定于平台的用户界面生成适用于 Android.iOS 和 macOS 的本机应用. Xamarin.Forms 允许你使用采用 C# 或 XAML 编写的共享 UI 代码生成本机应用." 本文以数独游戏开发为例,总结一下Xamarin开发的基本过程. 环境准备 开发Xamarin应用需要安装Vi…
项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu .代码随项目进度更新. 保存进度是移动应用的基本功能,在应用的使用过程中会有各种各样的可能导致使用中断,再次回到应用时,应该恢复到中断前的状态.前面我们已经初步完成了数独游戏,但还不具备状态保存的功能,现在我们增加这个功能,将游戏进度保存到本地文件中. 首先确定在什么地方保存和恢复状态.在Xamarin的View退出时会触发OnDisappearing事件,在这个事件中可以保存游戏的进度.在Vie…
项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu .代码随项目进度更新. 现在我们希望为应用增加更多的功能,比如记录每个完成的游戏,可以让用户自己添加新的数独游戏等等,这些功能需要数据库的支持.我们使用Sqlite数据库保存游戏的数据.Sqlite是基于文件的单机关系型数据库,使用起来非常方便,首先安装程序包sqlite-net-pcl,可以在Visual Studio 2022中使用Nuget管理器安装最新版本,然后,添加POCO类的定义和数据…
项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu .代码随项目进度更新. 现在我们增加添加新游戏的功能,创建一个页面,编辑初始局面,并保存到数据库. 我们首先了解一下Xamarin中页面如何跳转.首先,需要为跳转的页面增加路由,这需要在AppShell中增加下面的代码: public AppShell() { InitializeComponent(); Routing.RegisterRoute(nameof(GameEdit), typeof…
项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu .代码随项目进度更新. 前面我们已经完成了游戏的大部分功能,玩家可以玩预制的数独游戏,也可以自己添加新的游戏.现在我们实现展示已完成游戏列表页面,显示用户已经完成的游戏列表,从这个列表可以进入详细的复盘页面. 前面的页面我们采用的是传统的事件驱动模型,在XAML文件中定义页面,在后台的cs文件中编写事件响应代码.采用这种模型是因为很多页面需要动态生成控件,然后动态改变这些控件的属性,事件驱动模型在…
项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu .代码随项目进度更新. 前面我们使用一个数组保存预制的游戏,然后随机从中抽取一个游戏作为新游戏,如果我们数组中有10个游戏,那么很快就会遇到重复的游戏,有没有办法在现有的基础上生成更多的游戏呢?我们看一下下面两个游戏: 看上去是不同的游戏,但仔细分析一下就会发现如果从计算机角度看,其实是相同的游戏.如果我们仔细分析一下,就会发现,在数独游戏中1-9的数字都是独立的符号,没有数学中数字的意义,如果将…
在本系列第一部分,我们创建了程序框架,现在我们创建游戏的界面,项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu .代码随项目进度更新. 首先在Views目录下添加一个内容页面,名称为Game.xaml: 然后,在AppShell.xaml中增加这个页面导航: <TabBar> <ShellContent Title="游戏" Icon="icon_about.png" Route="Gam…
本系列文章对应游戏代码已开源 Sinuous game 上一节介绍了canvas的基础用法,了解了游戏开发所要用到的API.这篇文章开始,我将介绍怎么运用这些API来完成各种各样的游戏效果.这个过程更重要的是参透一些游戏开发的思路和想法,而不是仅仅知道怎么写代码来完成这个游戏. 先用一张图来了解一下整个游戏的构成. Map表示整个背景地图,作用很简单,就是渲染黑色背景.Player 表示玩家粒子,它尾巴中带有生命点,我们用Life类来表示.Enemy为红色的敌人粒子,因为技能粒子和Enemy粒子…
2. 创建证书 证书分为两种,一种是开发者证书,主要是用来真机调试的 另一种就是发布证书,就是用来发布应用的, 最好是两种都要下载,不然编译时候可能报错,我猜想可能苹果怕你没用真机调试 创建证书分为两个步骤: 在苹果电脑生成证书签名公钥 提交证书公钥文件到开发者网站 1)  创建开发者证书   1.生成证书签名公钥 在有Mac OS X的操作系统中打开“应用程序” —— “实用工具” —— “钥匙串访问”,打开如下界面 选择顶部的钥匙串访问,如下图操作 如下图,邮箱填写的是注册App ID的邮箱…
一.前言 我姥姥是一名退休数学老师,一直很喜欢玩数独游戏.我以前答应过她要给她写一个数独游戏.本来计划是写一个Android应用的,但恰好我学了好长时间iOS开发一直没做什么"大项目"练手,并且小姨给姥姥买了一个iPad玩.于是计划利用寒假过年的前五天,给姥姥用Swift写一个iPad上的数独游戏.现在(2月24日)游戏已经基本完成,于是记录下编写的思路.设计过程以及遇到的问题等. 二.需求分析 我的初步想法是做一个SingleView的应用足矣,但后来仔细分析加上我姥姥的要求,才发现…