毛叔老矣 | Live life with a passion!

CAT | 编程开发

三/10

11

将cocos2d API参考整合入xcode

cocos2d

这篇文章翻译自cocos2d官方的一篇blog:Integrating cocos2d API reference into XCode
翻译这篇文章,是cocos2d这样优秀和常用的lib库,没有api参考提示会很痛苦.这种痛苦cocos2d伟大的开发者们肯定也曾经体验过,所以,在cocos2d里提供了方便的文档安装脚本(是一个编译的target).

No tags Hide

三/10

10

cocos2d学习笔记(一)

cocos2d

安装cocos2d项目模板

cocos2d v.099版本提供了3个xcode项目模板:

  • 标准cocos2d模板
  • cocos2d+box2d模板
  • cocos2d+chipmunk模板

No tags Hide

二/10

8

获取和设置iphone屏幕亮度

首先,Apple是不允许应用程序这样做的。当然,所谓的不允许,是你提交的应用会被reject。我们如果不提交给AppStore,苹果当然就管不着了,呵呵。
实现方法来自于Dev SDK Forum

No tags Hide

在使用诸如NSLog, [NSString stringWithFormat:]之类的函数时,都是基于c/c++风格的字符串格式化工作的.
本来c/c++就没怎么用过,到iphone开发开发时掺合上NS系的对象,格式化输出更是一头的乱.
看了一下Programming Guide for Cocoa的文档,还是有比较详尽的说明的,整理出来备查.

No tags Hide

十二/09

21

ubuntu启动进入命令行模式

在8.x的ubuntu上,很容易通过sysv-rc-conf修改设置,关闭gdm,实现启动默认进入命令行。
关闭gdm之后,要重新进入图形界面,可以使用命令:
<pre id=”terminal” user=”hunterx” computer=”ubuntu”>telinit 3</pre>

但是在ubuntu9.10里,这个方法不起作用。使用sysv-rc-conf管理gdm会发现所有启动分级下gdm都没有被设置为装载。
去google了一下,得到如下解决方案:

No tags Hide

十二/09

4

Download Crutch工作原理解析

在Android Market上有一款非常实用的小软件:Download Crutch。
它解决的基本问题是这样:Android的默认浏览器,在下载文件时,会验证MimeType,如果这个MimeType不被“识别”,那么Download Manager会拒绝对其进行下载。Download Crutch可以让Download Manager不管是否是可识别的MimeType都进行下载。
凡是挂入系统的应用,走让人觉得很神奇。而Download Crutch这个小软件,更是实现的非常巧妙,理论上讲,它可以一行代码都不写就实现这个功能。
想要探究Download Crutch的工作原理,我们就要从Browser和Download Manager的工作原理说起。

No tags Hide

十一/09

13

Activity之间的数据传递

首先,这可能是个奇怪的命题。在大多数以往的编程框架中,特别是微软体系的编程中,各个UI组件之间多会通过父子隶属关系或者全局引用来解决互相之间的数据传递问题。而在Android开发中,似乎多个Activity(其实不仅限于Activity)之间数据是封闭的,这对于防止滥用全局变量的确是个很好的基本约束,不过也给开发工作带来一些困扰。

今天在开发应用过程中,又一次遇到了Activity之间数据传递的问题,而且是相对复杂且复合的状态数据。实际情况是这样的:MainActiviy作为与用户交互的主界面,完成绝大多数程序功能,SettingActivity作为一个独立的Activiy完成用户修改设置的动作。问题在于,SettingActivity中,用户修改了某些设置后,要迅速反映在MainActiviy中,比如更改了UI背景。

实现Activity之间的数据传递,有三种方式,视实际需要的应用环境选择,并没有哪种更优,只有某种条件更适合某种方法的分别。

No tags Hide

十一/09

9

Android 屏幕旋转的处理

在Android开发中,必须要考虑的一个问题是屏幕旋转的问题。比如G1,当推开键盘的时候,屏幕会自动切换为横向。默认状态的应用程序,会重新调用onCreate,相当于重新启动了一次应用程序。同时,layout可能因为横屏带来不能合理适配的问题。

很多时候,为了开发工作相对简单,可以把应用定位固定横向或固定纵向的方式。要实现这个目的,只需要在AndroidManifest.xml里声明 Activity的时候加上一个属性:android:screenOrientation,属性取值landscape为固定横屏、portrait为 固定纵向。

No tags Hide

十一/09

7

Android模拟器快捷键总结

昨天开发一个小游戏,测试时候遇到横屏切换的困扰,百度了一下,原来Android模拟器有N多实用的快捷键,索性自己总结下来备用。

No tags Hide

snap1

汉诺塔问题的程序模型:一个N层的汉诺塔,我们可以看做是上面N-1层与最后一片第N层两部分。即,上面N-1层,我们视其为n1,最下面的一层我们视其为n2。那么,接下来解决问题的过程是:

  1. 将n1从A柱移动到B柱
  2. 将n2从A柱移动到C柱
  3. 再将n1从B柱移动到C柱

这样,怎么实现移动n1便是一个新的汉诺塔问题,从而形成了递归关系。

No tags Hide

1 of 3123»

Copyright © 2009 HunterX all right reserved.