Start review WatchKit SDK.

URL list from Wednesday, Mar. 11 2015 16:13 PM

Apple Watch Tutorial – Learn How to Make a Simple Apple Watch App – YouTube
https://www.youtube.com/watch?v=_l393Xm-qsU

Swift WatchKit Tutorial: Guessing Game – Episode 3
http://www.appshocker.com/swift-watchkit-tutorial-part-5-guessing-game-episode-3/

SwiftGuide/Apple Watch at master · ipader/SwiftGuide
https://github.com/ipader/SwiftGuide/tree/master/Apple%20Watch

Apple Watch Tutorial – Learn How to Make a Simple Apple iWatch App — Made up by People
http://www.madeupbypeople.com/blog/2014/11/18/apple-watch-tutorial-learn-how-to-make-a-simple-apple-watch-app

Swift WatchKit Tutorial – Part 1: The Basics Explained in Detail for Getting Started | AppShocker – YouTube
https://www.youtube.com/watch?v=uus4DvAAOng

randomite/AppleWatchTutorialSeries
https://github.com/randomite/AppleWatchTutorialSeries

January 2015 Tech Talk: WatchKit – YouTube
https://www.youtube.com/watch?v=2nkkSXqp5s4

Make Your First Apple Watch App in 11 minutes – Tutorial [WatchKit SDK] – YouTube
https://www.youtube.com/watch?v=MeGArZtbGZ8

Here is some useful video tutorial links.

Read More

官方 Scaleform 文档资料和教程 链接

官方 Scaleform 文档资料和教程
  • Scaleform UDK 文档资料 – 官方 Scaleform 4.0 UDK 文档资料。
  • 导入 SWF – 这个视频讨论的是创建 Flash 内容并将其导入到 UDK 中的一些重要规则。
  • 渲染贴图 & 材质 – 这个视频讨论的是中创建对于将交互 Flash 内容显示在 UDK 关卡中的 BSP 表面上所必需的渲染贴图和材质。
  • 将 SWF 添加到 BSP 对象 – 在这个视频中,我们谈到了将一个 Flash 文件添加到一个 BSP 表面上所需要进行的步骤,其中包括必需的 Kismet 工作流程。
  • 捕获输入 – 在这个视频中,我们说明了如何使用 GFx 捕获按键 kismet 节点将键盘和游戏控制器输入传输到 Flash 文件中。这样它会解释说明这个输入,然后使您可以旋转 3D 中的视频剪辑。
  • 使用 Invoke ActionScript & FSCommands – 在这个视频中,我们谈到了 Invoke ActionsCript 在 Kismet 中的使用,它允许您通过 UDK 调用 Flash 文件中的 ActionScript 函数。我们还将谈到通过 FS Commands 将一个命令从这个 Flash 文件中发送返回到 UDK。
  • 创建自定义菜单 – 在第六个 UDK 视频教程中,我们将会向您说明如何使用 Scaleform GFx 和 UnrealScript 创建一个自定义菜单系统的基础内容。
  • 使用 Scaleform 3Di Flash AS2 Extensions 创建 3D UI – 这个视频将会说明如何在 Scaleform GFx 3.2 及更高版本中使用我们的新 3Di ActionScript 2 插件平移和旋转 3D 空间中的视频剪辑。
  • 处理字体 – 在第七个 UDK 视频教程中,我们将会向您说明在 Flash 及 2010 年 9 月 UDK 版本中正确使用字体需要了解的所有内容。
  • 掌握 Scaleform HUD
    1. HUD 概述 – 这是由四部分组成的系列中的第一部分,它将会带您浏览 2010 年 9 月 UDK Scaleform HUD 中的所有文件和资源。
    2. UTGFxHudWrapper.uc – 这是说明 2010 年 9 月 UDK Scaleform HUD 是如何组成的第二个视频。在这个视频中,我们全面介绍了 UTGFxHudWrapper.uc 类的基础构成,同时我们花了一段时间详细说明了如何打开和关闭暂停菜单作为 HUD 的一部分。
    3. GFxMinimapHud.uc – 第 1 部分 – 这是说明 2010 年 9 月 UDK Scaleform HUD 是如何组成的第三个视频。在这个视频,我大致介绍了 GFxMinimapHud 类的前半部分内容以及 udk_hud Flash 文件。
    4. GFxMinimapHud.uc – 第 2 部分 – 这是说明 2010 年 9 月 UDK Scaleform HUD 是如何组成的第四个视频。在这个视频中,我对 GFxMinimapHud 类的后半部分内容进行了说明。
  • CLIK 入门指南
    1. 初始设置 – 在这个教程中,我们将会向您说明如何使用这个新的组件精简接口工具包或 CLIK 快速设计基础前端菜单系统,它将会包含一个主菜单和一个选项画面,全部由核心 CLIK 组件组成,例如按钮、滑块、选项步进以及单选按钮。
    2. 主菜单设置 – 在第二个步骤中,我们将会向主菜单中添加一些基本功能。
    3. 创建选项画面 – 在第三步骤中,我们会让主菜单上的按钮可以将用户带入到选项画面,我们也会添加一个与我们的第一个选项相同的难度设置选项步长。
    4. 复选框、单选按钮 & 滑块 – 在第四个步骤中,我们会添加一些新的组件,其中包括视频设置复选框、单选按钮以及音量滑块。
    5. 添加功能 – 在第五个步骤中,我们会添加 ok(确定)和 cancel(取消)按钮,同时会对难度设置选项步长和单选按钮添加一些功能。
    6. 保留更改 – 在第六个步骤中,我们会设置选项画面,这样它才会在按下 OK 按钮后保留用户所进行的任何更改。
    7. 添加背景 – 在这个教程中,我们会向您说明如何为那些组成我们在教程 1-6 中创建的菜单的组件更换皮肤。我们会将这个过程划分为八个步骤。在步骤中,我们会向这个菜单添加一个背景图片。
    8. 导入背景 – 在这个步骤中,我们会导入在 Adobe Photoshop 中创建的图片作为我们的选项画面的窗口使用。我们还会调整组件使它们与窗口相适应,然后复制一个组件,这样我们就有它的两个不同皮肤的版本了。
    9. 为主菜单按钮更换皮肤 – 在这个步骤中,我们将会为主菜单按钮更换皮肤。
    10. 为 OK 和 Cancel 按钮更换皮肤 – 在步骤 10 中,我们将会为 ok 和 cancel 按钮更换皮肤。
    11. 为声音滑块更换皮肤 – 步骤 11 将会涉及为声音滑块更换皮肤。
    12. 为复选框更换皮肤 – 我们将会在步骤 12 中为复选框更换皮肤。
    13. 为单选按钮更换皮肤 – 我们将会在这个步骤中为视频设置单选按钮更换皮肤。
    14. 为选项步长更换皮肤 – CLIK 入门指南中的最后一个步骤将会涉及未难度选项步长更换皮肤。
  • Scaleform 用户界面设计 – 在 MIGS 2011 举行的虚幻学院上 Matt Doyle 进行现场演示。

Read More

给你5个写blog的理由

●  写你感兴趣的东西,不必在意你是否是专家
●  不要害怕失败
●  多多回复你的读者
●  就算你觉得没人会看你写的东西,也要坚持写下去
●  始终确保你的文章就代表着你的声音——这也是为什么写作是如此特别和吸引人的地方

Read More

Find back svn: Using External Version Control Systems with Unity

Using External Version Control Systems with Unity

Unity offers an Asset Server add-on product for easy integrated versioning of your projects. If you for some reason are not able use the Unity Asset Server, it is possible to store your project in any other version control system, such as Subversion, Perforce or Bazaar. This requires some initial manual setup of your project.

Before checking your project in, you have to tell Unity to modify the project structure slightly to make it compatible with storing assets in an external version control system. This is done by selecting Edit->Project Settings->Editor in the application menu and enabling External Version Control support by selecting Metafiles in the dropdown for Version Control. This will create a text file for every asset in the Assets directory containing the necessary bookkeeping information required by Unity. The files will have a.meta file extension with the first part being the full file name of the asset it is associated with. Moving and renaming assets within Unity should also update the relevant.meta files. However, if you move or rename assets from an external tool, make sure to syncronize the relevant .meta files as well.

When checking the project into a version control system, you should add the Assets and the ProjectSettings directories to the system. The Library directory should be completely ignored – when using external version control, it’s only a local cache of imported assets.

When creating new assets, make sure both the asset itself and the associated .meta file is added to version control.

Example: Creating a new project and importing it to a Subversion repository.

First, let’s assume that we have a subversion repository at svn://my.svn.server.com/ and want to create a project at svn://my.svn.server.com/MyUnityProject. Then follow these steps to create the initial import in the system:

  1. Create a new project inside Unity and call it InitialUnityProject. You can add any initial assets here or add them later on.
  2. Enable Meta files in Edit->Project Settings->Editor
  3. Quit Unity (this ensures that all the files are saved).
  4. Delete the Library directory inside your project directory.
  5. Import the project directory into Subversion. If you are using the command line client, this is done like this from the directory where your initial project is located:
    svn import -m"Initial project import" InitialUnityProject svn://my.svn.server.com/MyUnityProject
    If successful, the project should now be imported into subversion and you can delete the InitialUnityProject directory if you wish.
  6. Check out the project back from subversion
    svn co svn://my.svn.server.com/MyUnityProject
    And check that the Assets and ProjectSettings directory are versioned.
  7. Open the checked out project with Unity by launching it while holding down the Option or the left Alt key. Opening the project will recreate the Library directory in step 4 above.
  8. Optional: Set up an ignore filter for the unversioned Library directory:
    svn propedit svn:ignore MyUnityProject/
    Subversion will open a text editor. Add the Library directory.
  9. Finally commit the changes. The project should now be set up and ready:
    svn ci -m"Finishing project import" MyUnityProject

Page last updated: 2013-05-15

Read More

2013/9/30老版停止.注意AdMob帐号需要升级.

AdMob 广告系列将会停止投放

这是来自官方的提示. 粗略查看文档后,发现需要迁移到adsense 帐号,  没有的要注册.

1/ 要地址验证. Google会邮寄明信片给我们.

2/ 要电话号码验证.

3/ 不能改国别. 如下地区的.

孟加拉
中国
印度
印度尼西亚
马来西亚
尼泊尔
巴基斯坦
菲律宾
新加坡
斯里兰卡
泰国
越南

最后更新时间:2013 年 8 月 20 日

最近我们发布了新版 AdMob,这是一个更为强大的应用推广广告系列投放平台。随着用户逐步升级至新系统,旧版 AdMob 将会停止提供服务。

重要日期

  • 2013 年 8 月 26 日:您将无法为广告系列补充资金。
  • 2013 年 9 月 30 日:旧版 AdMob 中的广告系列将停止投放广告。
  • 2013 年 10 月 15 日:您可以对旧版 AdMob 帐户中的余额申请退款的截止日期。

为了继续投放广告系列,请立即升级到新版 AdMob。升级时将会为您在新系统上创建一个新的 AdMob 帐户。升级过程可能需要几分钟时间,同时我们会自动导入您的广告系列。

有关更多详细信息,请参考升级指南有关升级的常见问题解答

Read More

FREE Resources to help you finsih your game demo…

FREE Resources to help you finsih your game demo…

Hey guys! You didn’t think I’d set you all to task and not offer a helping hand did you?

Well here are a few great resources that can help you get started or add a few bits to your games to help you realize your concepts.

A lot of this stuff is either Royalty Free or Creative Commons or Public Domain even. Have a look for yourself, I’m splitting up these links into their areas of use.

Music

Incompetech (big music catalog. search by genre or feel)
RoyaltyFreeMusic.com (mainly royalty free for a flat cost, but they have a free section. worth a look still!)
FlashKit.com (intended for Flash projects, but has quite a large library of music loops)

Sound Effects

SoundDogs.com (big big sound effect DB)
SoundBible.com (another resource, but not as big as SoundDogs)
ACIDplanet.com (for musicians, but they release sets of samples each week. the odd sample would make a good SFX & esp. good if you are making a musical game)

Graphics

OpenGameArt.org (a whole collection of free sprites–2D and 3D, tiles and other assets free for use)
WidgetWorx’s SpriteLib (a single ZIPped collection of sprite meant for use to get started, taken from older iOS and OS X game projects)
Lost Garden (Daniel Cook’s infamous Epic Megagames sprites and other newer offerings. He’s been pretty good to the game dev community and here is some of his work.)

There are a lot of ones that I like to dig through and have a search when making my prototypes, but you can of course find others out there. You can even just use Google it’s self to search for something specific, though sometimes I have found that to be a little time consuming if it’s a really rare or unusual thing your looking for.

Such as… Here is a blog post I found that has all kinds of links to other such resources: http://letsmakegames.org/resources/a…me-developers/

Enjoy and don’t get too caught up in all the assets and forget about YOUR vision of your game entry! 

Found any other great resources, why not share?

Read More

T容量网盘时代,告诉你什么是真的数据安全.

最近百度 360 算是干起来了, 分别送出总量大概1T的网络硬盘. 但仔细看看获取条件的差别,  分别要被插两次. 要求手机 or  手机号码 or  email  .

首先我做个邪恶的假设, 这两个巨头早就通过数据采集 采集了若干关于你的信息. 但是没有匹配, 这回你自己告诉人家了, 手机 邮件 QQ 的关联. 于是乎所以与你有关的行为数据都很容易被处理了.

包括行为分析 购买趋势预测等等.

我说的了是假设,如有雷同 请勿XX

再来说个国外的mega.nz  目前是新增加支持内容加密的.  我这么理解, 即网盘的运营者是无法直接获取或者解析得到原始存储文件的.   说到这里, 想必大家应该能明白, 你把数据存上去,等于脱光了衣服给别人看.

有个黑手总能看到. 你觉得是安全的吗?

给大家支个招, 所有文件都加密码.  会略微好一些.   比较恶心的就是若干年后 自己把密码忘了…

Read More

plop is a sampling profile of python.

https://tech.dropbox.com/2012/07/plop-low-overhead-profiling-for-python/

How it works

Plop is a sampling profiler, similar to Google’s gperftools.  Every 10 milliseconds, a timer is fired which causes the program to record its current stack trace.  After 30 seconds, the collected samples are aggregated and saved.  There is a web-based viewer for the resulting call graphs (using d3.js)

Here’s a sample profile, from a simple Tornado-based web server. Click on the image for a full-size interactive view (it’s big, so you’ll need to either scroll around a lot or use your browser’s zoom controls).

Each bubble is a function; they’re color-coded by filename and you can mouse over them for more details. The size of the bubble represents the amount of time spent in that function.  The thickness of the lines connecting the bubbles represents how frequently that function call appears on the stack.  The disconnected bubbles around the edge are actually common utility functions that are called from many places throughout the code – they’re so common that drawing the connections to every function that calls them would make the graph unreadable.

Since hack week, we’ve integrated Plop into our servers and run it regularly.  Every time we push new code to the site, a script collects a profile for the new version.  This has proven not to be disruptive, with less than 2% CPU overhead while the profile is being collected. It’s still a work in progress (especially the viewer), but has already proven useful in identifying performance regressions.

Read More

[fwd] some quick notes with relevant references of ios development

从我一直关注的一位朋友的blog上抓来. 素未谋面, 但是分享的态度还是依旧.  我的感触是,  ios开发  测试驱动 单元测试这些在国外的团队里被应用的很好. 与其担心时间不足,还真不如分配一些代码测试的时间. 这是个趋势. 换句话说是科学.

@tinyfool 不知道你家团队是否也是理念先进.

Original uRL:   What I learned from my first iOS job in Australia from chris. vinshine(@cocoachina?)

Objective-C / Cocoa:

  1. Use weak reference in block to avoid retain cycle (http://blog.random-ideas.net/?p=160)
  2. Use [UIImage resizableImageWithCapInsets] to create stretchable background image (http://stackoverflow.com/questions/8671315/using-resizableimagewithcapinsets-image-for-button-only-works-for-the-state-set)
  3. If an abstract class has a tempate method for its subclasses to override, it’s a good practise to raise exception in the abstract implementation in case subclasses don’t override this method and parent implementation gets called
  4. in LLDB debugger, use “po [[UIApp keyWindow] recursiveDescription]” to output app view hierarchy
  5. Use NSNib to speed up tablview cell loading (http://useyourloaf.com/blog/2011/02/28/speeding-up-table-view-cell-loading-with-uinib.html)
  6. You can use -[NSArray indexOfObject:inSortedRange:options:usingComparator:] to ask an NSArray for the index where an object should be inserted given an array range that’s currently sorted (http://stackoverflow.com/questions/8180115/nsmutablearray-add-object-with-order)
  7. using view.bounds for size, not view.frame, sometimes view.frame doesn’t reflect the current  device orientation (http://stackoverflow.com/questions/5194504/reporting-incorrect-bounds-in-landscape-mode)

Tools:

  1. continus integration with Jenkins (http://jenkins-ci.org/)
  2. Use POSTMAN (a Chrome plugin) to observer RESTful api response (https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm?hl=en)
  3. AppCode, an alternative to Xcode (http://www.jetbrains.com/objc/)
  4. Use Charles to observe RESTful api response, set breakpoint, mock/modify HTTP response content(http://www.charlesproxy.com/)
  5. Use XScope to measure pointed size in simulator and Photoshop (http://iconfactory.com/software/xscope)
  6. Jira, an Agile project managment & issue tracking web tool (http://www.atlassian.com/software/jira/overview)
  7. Use multiple targets in CocoaPods Podfile (https://github.com/CocoaPods/CocoaPods/wiki/A-Podfile)
  8. Use your own podspec file to integrate private libraries (http://theonlylars.com/blog/2013/01/20/cocoapods-creating-a-pod-spec/)

Testing:

  1. TDD with GHUnit (https://github.com/gabriel/gh-unit)
  2. Test data mock and stub with OCMock (http://ocmock.org/)
  3. BDD with Kiwi (https://github.com/allending/Kiwi)
  4. Automation Test with Jasmin (http://pivotal.github.com/jasmine/)

Read More

会Python的弟兄们,kivy来了 ios andriod 啥的都很Easy

Kivy 是一套 Python 下的跨平台快速应用开发框架,对于多点触控有着良好的支持。不用深入学习 Java 或 Object C 即可开发流行智能手机平台应用。亮点是语法用Python 稍微学习一下kivy的框架Api. 会C++用cocos2d. 会Python 也有了选择. 会Delphi可以选Delphi Xe4 . 跨平台真是百花齐放.

Kivy 依据允许商业使用 LGPLv3 协议发布,支持 Linux, Windows, MacOSX, Android 和 iOS 平台,原生支持各个平台的输入设备协议,包括多点触控;其图形核心围绕 OpenGL ES2 构建,可以充分利用目标平台的 GPU 加速。其 1.6.0 版本带来了如下特性:

  • 允许自定义顶点类型,初步实现 3D 支持。
  • 支持材质平整化,在 PowerVR 设备上支持 PVRTC 压缩算法。
  • 文本渲染引擎改善,微调核心文本标签空间。

 

适用于多个 Linux 发行版及 Win 和 OS X 的下载

Android 版本演示

iOS 下使用 Kivy 编写的游戏

Read More