{"id":21679288,"url":"https://github.com/hoppergee/polygonstory","last_synced_at":"2025-03-20T10:21:12.033Z","repository":{"id":130783010,"uuid":"82534567","full_name":"hoppergee/PolygonStory","owner":"hoppergee","description":null,"archived":false,"fork":false,"pushed_at":"2017-02-22T16:05:45.000Z","size":3498,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-01-25T10:43:16.622Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hoppergee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-20T08:31:15.000Z","updated_at":"2017-02-20T08:34:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"ed314f73-3728-4244-a3df-d80c2498bf39","html_url":"https://github.com/hoppergee/PolygonStory","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoppergee%2FPolygonStory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoppergee%2FPolygonStory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoppergee%2FPolygonStory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hoppergee%2FPolygonStory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hoppergee","download_url":"https://codeload.github.com/hoppergee/PolygonStory/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244591485,"owners_count":20477710,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-25T14:50:24.730Z","updated_at":"2025-03-20T10:21:12.009Z","avatar_url":"https://github.com/hoppergee.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 多边形的寓言\n\n### 简介\n\n一个纯Swift写的iOS练手的寓言小游戏，并上架[AppStore (Only For iPad)](https://itunes.apple.com/cn/app/%E5%A4%9A%E8%BE%B9%E5%BD%A2%E7%9A%84%E5%AF%93%E8%A8%80/id1173118858?mt=8)\n\nIdea来自于[一个PolygonStory的网页](http://ncase.me/polygons/)，做出来的效果与原作效果基本一致，但由于只懂iOS的内容，所以与原作的HTML代码应该会有很大差别。\n\n[这里可以看到该App的复杂效果演示](http://weibo.com/tv/v/EwyXSBoGL?fid=1034:845e2b05cd95ecc46d264f41f18290b4)\n\n这次项目的学习点：\n\n* 数据驱动视图的设计思路\n* 动态走势图的绘制（贝塞尔曲线+定时器）\n* 类棋盘的触摸板二维界面布置\n* 实现触摸手势的综合复杂判断\n  * 需要结合\n    * 当前多边形与其周边同伴的心情\n    * 多边形的位置（起始点与终点）\n    * 手势状态（start/change/end）\n  * 触摸手势划出设定边界的判断问题\n* 多边形自行完成游戏（自己选点，自己做判断，每个多边形会根据周边的情况实时做出反应）\n  * 通过让多边形自我移动的动画时间远超定时器从而达到多个多边形同时移动的假象\n* 通过两张图的视差达到按钮点击下沉的动画效果\n* 富文本的基本使用\n\n以上可见：其实我并没有使用很多复杂的控件，更多的是逻辑上的设计，自己还是蛮喜欢完这种小逻辑的。\n\n### Wiki结构\n\n项目的开发笔记都记录在项目的[wiki](https://github.com/wokenqingtian/PolygonStory/wiki)中\n\n```\nwiki\n  ├── feature            # 项目笔记\n  ├── picture            # 图片资源\n  └── userstory_versions   # others 思维导图存档\n```\n\n动图演示如下：\n\n![PolygonDemonstrate1](https://raw.githubusercontent.com/wokenqingtian/PolygonStory/master/Ilustrate2.gif)\n\n\n\n![PolygonDemonstrate2](https://raw.githubusercontent.com/wokenqingtian/PolygonStory/master/Ilustrate1.gif)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoppergee%2Fpolygonstory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhoppergee%2Fpolygonstory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhoppergee%2Fpolygonstory/lists"}