此案例主要是针对光线投影法碰撞检测功能的示例,顺便做成了一个小游戏,很简单,但是,效果却很不错. 投篮小游戏 规则,点击投篮目标点,就会有一个球沿着相关抛物线,然后,判断是否进入篮子里,其实就是一个矩形,直接是按照碰撞检测来的,碰到就算进去了,对其增加了一个分数统计等功能. Wpf 和 SkiaSharp 新建一个 WPF 项目,然后,Nuget 包即可 要添加 Nuget 包 Install-Package SkiaSharp.Views.WPF -Version 2.88.0 其中核心逻辑是…
感谢各位大佬和粉丝的厚爱和关心( 催更),我会再接再厉的,其实这也是督促自己的一种方式,非常感谢. 刚写了一篇万字长文,自己也休养生息(低调发育)了一段时间,接下来来几个小案例. 拖曳小球 WPF的拖曳效果,基本配置一下,就可以了,但是自绘的话,就得自己控制,按键点击,按键移动和按键松开的事件,与其配合达到目的. 这个效果实现了,其实也变相的实现了WPF里的拖动效果,这个效果用着还是很方便的. 但是代码,确十分的简单. Wpf 和 SkiaSharp 新建一个WPF项目,然后,Nuget包即可…
此案例包含了简单的碰撞检测,圆形碰撞检测方法,也可以说是五环弹球的升级版,具体可以根据例子参考. 粒子花园 这名字是案例的名字,效果更加具有科技感,很是不错,搞搞做成背景特效也是不错的选择. Wpf 和 SkiaSharp 新建一个 WPF 项目,然后,Nuget 包即可 要添加 Nuget 包 Install-Package SkiaSharp.Views.WPF -Version 2.88.0 其中核心逻辑是这部分,会以我设置的 60FPS 来刷新当前的画板. skContainer.Pai…
没想到粉丝对界面效果这么喜欢,接下来就尽量多来点特效,当然,特效也算是动画的一部分了.WPF里面已经包含了很多动画特效的功能支持了,但是,还是得自己实现,我这边就来个自绘实现的. 弹动小球 弹动小球是一个很常见的页面特效,类似于,拖动物体或者窗体,实现了抖动效果一样.还是值得学习一二的,实际上,也很简单,只需要一个弹动系数和摩擦系数即可. Wpf 和 SkiaSharp 新建一个WPF项目,然后,Nuget包即可 要添加Nuget包 Install-Package SkiaSharp.Views…
此案例基于拖曳和弹动球两个技术功能实现,如有不懂的可以参考之前的相关文章,属于递进式教程. 五环弹动球 好吧,名字是我起的,其实,你可以任意个球进行联动弹动,效果还是很不错的,有很多前端都是基于这个特效,可以搞出一些很有科技感的效果出来. Wpf 和 SkiaSharp 新建一个WPF项目,然后,Nuget包即可 要添加Nuget包 Install-Package SkiaSharp.Views.WPF -Version 2.88.0 其中核心逻辑是这部分,会以我设置的60FPS来刷新当前的画板…
剪刀石头布,非常可爱的小游戏,相信大家都非常的怀念这款小游戏,小时候也玩过很多次,陪伴着我的童年的成长,现在是不是还会玩一下,剪刀石头布游戏的规则我们都知道是:剪刀剪布,石头砸剪刀,布包石头.跟朋友.同学.兄弟姐妹有意见分歧?通过“剪刀石头布游戏”来一局吧,谁赢了听谁的.躲猫猫的时候,通过“剪刀石头布游戏”来一局吧,谁输了谁找.洗衣服.做饭.扫地等等什么的,通过“剪刀石头布游戏”来一局吧,谁输了谁做.这是我的处女座游戏,学校的时候跟着培训老师一步一步写出来的,今天在这里将这款游戏分享给伙伴们,可…
本地存储localStorage设置存储内容setItem(key,value) localStorage.setItem('leo','23'); 更新存储内容对象[key]=value对象.key=value localStorage.leo = 25; localStorage['leo'] = 24; 获取存储内容getItem(key) console.log(localStorage.getItem('leo')) 删除存储内容removeItem(key) localStorage…
八.生成新的单节蛇身我们这里先说说游戏小原理好了,游戏运行后,通过计时器事件不断生成新的单节蛇身类SnakeNode,添加到List中的0位置,原来的蛇头变成了第二节.该节新蛇头的坐标通过蛇头前进方向Direct进行判断,即如果原蛇头往左运行,则新蛇头在原蛇头位置的左一格生成,其他方向以此类推.最后将该节添加到SnakeNodes列表中,并将相应图形添加到游戏区. private void GenNewSnakeNode() { SnakeNode snakeNode = null; switc…
一. 游戏界面首先,按照惯例,编辑MainWindow.xaml,先将游戏界面制作好.非常简单:(1)主游戏区依然使用我们熟悉的Canvas控件,大小为640X480像素,设定每小格子为20px,所以横坚坐标的格子数为32x24.见源代码的最后位置.(2)定位控件我们使用DockPanel,方便放置主菜单.(3)将按键事件PreviewKeyDown放在Window内. <Window x:Class="MoonSnake.MainWindow" xmlns="http…
最近看书看累了,参考别人的代码(其实差不多就是把代码重新打了一遍o(╯□╰)o),用wpf做了个<2048>小游戏,顺便在<Git教程>学习下git,也顺便把在<写让别人能读懂的代码>收获的插件用起来(和之前用的VisualAssist功能有重复调了半天(╯‵□′)╯︵┻━┻,不过整合之后真心好用).之后又用这个界面写了几个其他游戏,虽然逻辑都非常简单(不如2048复杂),不过也算举一反三吧……代码都在GitHub <2048> 别踩白块 找不同 记忆翻牌…