开源引擎发布地址:http://loon-simple.googlecode.com/
新建一个android工程,在manifest中对主Activity添加 android:configChanges="orientation|keyboardHidden"
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="gejw.android.Lgame" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="4" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:configChanges="orientation|keyboardHidden" android:label="@string/app_name" android:name=".LgameExampleActivity" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
创建GameScreen.java和Main.java 代码如下:
package gejw.android.Lgame; import org.loon.framework.android.game.core.graphics.Screen; import org.loon.framework.android.game.core.graphics.opengl.GLEx; import org.loon.framework.android.game.core.graphics.opengl.LTexture; import org.loon.framework.android.game.core.input.LTouch; import org.loon.framework.android.game.core.timer.LTimerContext; import android.util.Log; public class GameScreen extends Screen { private LTexture images; /** * 初次载入的时候调用 * */ @Override public void onLoad() { // 记录日志 Log.d("LGAMETEST1", "here it is onLoad"); LTexture.AUTO_LINEAR(); // assets放置资源文件 images = new LTexture("assets/background.jpg"); // 设置当前Screen的背景图片 setBackground(images); // 背景音乐,"main.mp3"文件放置在assets文件夹下面 // playAssetsMusic("main.mp3", true); } @Override public void alter(LTimerContext context) { // TODO Auto-generated method stub } @Override public void draw(GLEx ex) { // TODO Auto-generated method stub } @Override public void touchDown(LTouch lTouch) { // TODO Auto-generated method stub } @Override public void touchMove(LTouch lTouch) { // TODO Auto-generated method stub } @Override public void touchUp(LTouch lTouch) { // TODO Auto-generated method stub } }
package gejw.android.Lgame; import org.loon.framework.android.game.LGameAndroid2DActivity; public class LgameExampleActivity extends LGameAndroid2DActivity { @Override public void onGamePaused() { // TODO Auto-generated method stub } @Override public void onGameResumed() { // TODO Auto-generated method stub } @Override public void onMain() { // TODO Auto-generated method stub // 设置是否为横屏 initialization(true, LMode.Fill); setScreen(new GameScreen()); setShowLogo(false); setShowFPS(true); showScreen(); } }
今天看AppleScript看到的一篇有点意思的贴子
vi ~/.profile
xxx
source ~/.profile
下午完成了app打包ipa的service,看到一个对ipa重签名的service,这个不就是iResign吗?我借鉴了一下里面的一些语法。
[Mac]终端中快速定位到Finder的当前路径
平时工作会非常频繁的使用到命令行, 常见的场景是需要CD到Finder的当前路径操作, 或是打开命令行当前的路径. 后者通过 open . 即可打开. 而前者的操作就比较繁琐, 我需要先输入 cd[空格] ,然后将文件夹拖入到终端中.
在忍受了无数次拖拽后突然想到通过 AppleScript 来获取路径并传送到终端. 考虑过ruby,需要额外的gem支持. 考虑过用 objc 写个工具, 但随后发现个命令 osascript 能直接运行 AppleScript的代码 ,解脱!
tell application “Finder” to set myname to POSIX path of (target of window 1 as alias)
这段代码能将当前的Finder的路径输出, 可以使用 osascript -e ‘codes’ 来测试结果.
编辑 ~/.profile (没有就创建一个), 添加如下代码
function cdf() # cd to finder's front's window's path { path="`osascript -e 'tell application "Finder" to set myname to POSIX path of (target of window 1 as alias)' 2>/dev/null`" if [ -n "$path" ]; then echo "cd to $path" cd "$path" else echo "no finder window finded" fi }
然后source下此文件, 以后只要直接输入 cdf (cd-finder or cd-front 反正很好记) 即能切换到当前路径中.
找了下找到个比较挫的办法
tell application "Adium" go away with message "Busy" end tell
但是必须指定鸭子的状态, 最后翻了下文档自己写了段测试成功:
tell application "Adium" set the title of every status to "funny" set the status of every account whose status type is not offline to the first status whose title is "funny" # 也可以这么写 # repeat with state in every status # set title of state to "come on baby" # end repeat end tell
也许下版本 LessDJ 会多个同步歌曲信息到 鸭子状态的功能
对了 LessDJ 上线一周下载2000多次了, 但最近状态低迷, 需要些时间来添加新功能.
fastboot命令详解
Android手机分区(每个分区都有相应的img文件对应):开机启动画面区(splash1),数据恢复区(recovery),内核区(boot),
系统区(system),数据缓存区(cache),用户数据区(userdata)。
1. 查看fastboot命令的帮助:
fastboot
显示如下信息:
view plain
usage: fastboot [ <option> ] <command>
commands:
update <filename> reflash device from update.zip
flashall "flash boot" + "flash system"
flash <partition> [ <filename> ] write a file to a flash partition
erase <partition> erase a flash partition
getvar <variable> display a bootloader variable
boot <kernel> [ <ramdisk> ] download and boot kernel
flash:raw boot <kernel> [ <ramdisk> ] create bootimage and flash it
devices list all connected devices
reboot reboot device normally
reboot-bootloader reboot device into bootloader
options:
-w erase userdata and cache
-s <serial number> specify device serial number
-p <product> specify product name
-c <cmdline> override kernel commandline
-i <vendor id> specify a custom USB vendor id
2. 擦除分区:
fastboot erase {partition} 例:fastboot erase boot或fastboot erase system等。
3. 烧写指定分区:
fastboot flash {partition} {*.img} 例:fastboot flash boot boot.img或fastboot flash system system.img等。
4. 烧写所有分区:
fastboot flashall 注意:此命令会在当前目录中查找所有img文件,将这些img文件烧写到所有对应的分区中,并重新启动手机。
5. 一次烧写boot,system,recovery分区:
(1)创建包含boot.img,system.img,recovery.img文件的zip包。
(2)执行:fastboot update {*.zip}
6. 烧写开机画面:
fastboot flash splash1 开机画面
7. 重启手机:
fastboot reboot