游戏阻碍物设计设想

No Comments. Posted in Flex、ActionScript by canleisky on 07-04-2009.

地图就是一张图片,如何更简单判断是否有阻碍物?

我的想法是尽量不动程序,在图上下功夫,像其它游戏的地图文件都是一个独立的文件,

能把阻碍物设计在地图上不是更符合OO思想?

因为不同的地图它的阻碍物分布不同,如果能在图片做标记,在程序里去取,这样不是更好,装载地图的时候去分析地图,得出所有阻碍物的分布情况,再处理.

但是一直不知道如何在地图上创建阻碍物标记,哪位有更好的想法,帮帮偶~

PHP 出现EF BB BF(BOM)解决办法

No Comments. Posted in php by canleisky on 06-29-2009.

从原站打包的程序通过FTP上传到另一台服务器上发现生成的图片显示不了了,用UE打开发现文件头部多了EF BB BF字样,怎么头部会多出BOM呢,原程序又不好的,只有可能出现在FTP上面,于是改了FTP传输模式为二进制,OK问题解决。

如果不是FTP引起的,可以用UE打开再另存为无BOM格式,文件多了的话挺麻烦的~

SQL SERVER设置自增字段值

No Comments. Posted in 未分类 by canleisky on 06-24-2009.

把下面的TableName改成自己的表名,0是设置自增值是多少

DBCC CHECKIDENT(TableName, RESEED, 0)

数据库事务日志满了,需要清除,执行下面语句,把数据库名DatabaseName改成自己的数据库再执行

BACKUP log DatabaseName WITH NO_LOG
GO
--收缩数据库
DBCC SHRINKDATABASE(DatabaseName)
GO

Flash Builder 4 Beta 下载

No Comments. Posted in Flex、ActionScript by canleisky on 06-14-2009.

Flex Builder 4改名为Flash Builder 4

Flash Builder 4新功能:

Flex SDK:

  • 引入一个全新的功能强大的组件皮肤框架,叫做Spark。
  • 基于Spark框架进行初始化的组件可以与Flex3中的Halo组件集合混合和匹配使用。
  • 支持声明化的,动态的MXML图形,以及FXG格式的图形。
  • 全新的Spark默认外观,支持全新的样式集合。
  • 更强大的布局支持,包括支持MXML图形元素,增强对于翻转和其他变形的支持,支持指定自定义的布局,增强z轴管理。
  • 一些新的和增强的特效,包括支持MXML图形元素的动画,通过自定义的动画修改,更多易用的API调用方式,更多的自动化的交互行为。
  • 3D特效支持
  • Flash动画滤镜,包括Pixel Bender。
  • 更多高级字体支持。基于Flash Text 引擎和Text布局框架,也支持CFF(Compact Font Format)。
  • 编译器性能提升。
  • 新的MXML语言功能,包括MXML 2009命名空间,声明,库和标签定义。
  • CSS增强,包括支持命名空间,继承选择器,ID选择器,更多的类选择器和针对组件状态的伪选择器支持。
  • 语法增强和状态states增强。
  • 方便的数据双向绑定语法。
  • ASDoc支持在mxml文件里的组件。
  • 增强的HTML模板,基于SWFObject。
  • adobe.com存放 SDK运行时共享库RSL。
  • 额外的本地化支持,更好的开发本地化应用。

Flash Builder新功能:

  • 一个面向创建数据服务应用的新工作流(包括CF,PHP,Java,WebServices)。
  • 支持由Flash Catalyst创建的FXG项目
  • 一个全新的Network监控,帮助诊断客户端和服务器段的通讯问题
  • Flex 单元测试整合。
  • 自动生成getter和setter。
  • ASDoc支持在MXML和AS中显示ASDoc注释
  • 自定义文件模板支持MXML,AS和CSS文件。
  • 自动生成事件处理函数结构。
  • 调试器增强。
  • Profiler增强。
  • Refactoring增强
  • 新的Component kit for Flash CS4
  • 新支持命令行构建执行方式。
  • 导入和应用Flex主题新用户界面。
  • 新的Flex类包浏览器替代Flex Navigator面板。

Flash Builder 4官方主页 http://labs.adobe.com/technologies/flashbuilder4/

注意:需要登陆才能下载。

ActionScript 改变默认背景色

No Comments. Posted in Flex、ActionScript by canleisky on 06-14-2009.

在ActionScript主程序内加入下面例句即可:

width 宽度、height 高度、frameRate 帧率(fps)、backgroundColor 背景色

[SWF(width="800", height="600", frameRate="20", backgroundColor="#FFFFFF")]

将此句放入class前面就行啦

Flex+Java Socket多线程实列

No Comments. Posted in Flex、ActionScript, java by canleisky on 06-10-2009.

oioq.com原创Flex+Java Socket多线程实列

Socket服务主程序 SocketServer.java

package org.codedata;
import java.net.*;
import java.io.*;

public class SocketServer extends Thread {
private ServerSocket ss;
private Socket socket;
private int port;

private boolean run = true;

public SocketServer(int port){
this.port = port;
start();
}

public void run(){
try {
new SecurityServer();
ss = new ServerSocket(port);
System.out.println("正在启动服务。。。");
System.out.println("服务启动成功,端口("+ port +")");
Message.append("正在启动服务。。。");
Message.append("服务启动成功,端口("+ port +")");

while (run){
socket = ss.accept();
Message.append("收到消息:" + socket);
System.out.println("收到连接" +  socket);
new SocketThread(socket);
}
} catch (IOException e) {
System.out.println("Error:" + e.getMessage());
}
}

public void sstop(){
try{
run = false;
ss.close();
SocketFrame.getJTextArea().append("服务已停止\n");
}catch(Exception e){
System.out.println("发生错误:" + e.getMessage());
}

}
}

Socket服务线程 SocketThread.java

package org.codedata;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;

public class SocketThread extends Thread {

private BufferedReader br;
private PrintWriter pw;
private Socket so;
private boolean status = true;

public SocketThread(Socket socket){
so = socket;
start();
}

public void run(){
try{
while(status){

br = new BufferedReader(new InputStreamReader(so.getInputStream(), "UTF8"));
pw = new PrintWriter(new OutputStreamWriter(so.getOutputStream(), "UTF8"));

String line = br.readLine();
if(line != null){
line = line.trim();
pw.println("收到消息:" + line);
pw.flush();
Message.append("收到消息:" + line);
System.out.println("收到消息:" + line);
}
}
} catch(IOException e){
System.out.println("Error:" + e.getMessage());
}
}

public void close(){
//socketServer.stop();
}
}

Flex主程序: SocketClient.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontFamily="Arial" fontSize="12" applicationComplete="init()">
<mx:Script>
<![CDATA[
import flash.system.fscommand;
import flash.utils.setInterval;
import mx.controls.Alert;
import com.test.MySocketClient;

private var sc:MySocketClient = new MySocketClient();
public function init():void{
connectBtn.addEventListener(MouseEvent.CLICK, connect);
sendBtn.addEventListener(MouseEvent.CLICK, send);

setInterval(function():void{
if(sc.isConnected()){
if(sc.readReady()){
msgBox.text = msgBox.text.replace(/\s*$/g,"");
msgBox.text += msgBox.text == "" ? sc.read() : "\n" + sc.read();
}
}
}, 1000);
}

public function connect(e:MouseEvent):void{
sc.connect(host.text, (int)(port.text));
}

public function send(e:MouseEvent):void{
sc.send(msgInput.text);
msgInput.text = "";
}
]]>
</mx:Script>
<mx:Button id="sendBtn" x="381" y="245" label="发送消息" />
<mx:TextInput id="msgInput" x="29" y="245" width="344" height="22"/>
<mx:TextArea id="msgBox" x="29" y="79" width="422" height="156"/>
<mx:Label x="29" y="58" text="收到的消息" width="69" height="18" fontFamily="Times New Roman"/>
<mx:Label x="348" y="58" text="连接状态:"/>
<mx:Label x="409" y="58" text="未连接"/>
<mx:TextInput id="host" x="67" y="29" width="165" height="21" text="127.0.0.1"/>
<mx:TextInput id="port" x="296" y="29" width="63" height="21" text="999"/>
<mx:Label x="30" y="30" text="主机:"/>
<mx:Label x="260" y="30" text="端口:"/>
<mx:Button id="connectBtn" x="392" y="30" label="连接"/>
</mx:Application>

MySocketClient.as

package com.test
{
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.ProgressEvent;
import flash.events.SecurityErrorEvent;
import flash.net.Socket;
import flash.system.Security;

import mx.controls.Alert;
public class MySocketClient
{
private var socket:Socket = null;
private var connected:Boolean = false;

public function MySocketClient()
{
socket = new Socket();
socket.addEventListener(Event.CONNECT, function(event:Event):void{
connected = true;
trace("connect: " + event);
});
socket.addEventListener(Event.CLOSE, function(event:Event):void {
trace("closeHandler: " + event);
});
socket.addEventListener(ProgressEvent.SOCKET_DATA, function(event:ProgressEvent):void {
trace("socketDataHandler: " + event);
});
socket.addEventListener(IOErrorEvent.IO_ERROR, function(event:IOErrorEvent):void{
trace("ioErrorHandler: " + event);
});
socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function(event:SecurityErrorEvent):void{
Alert.show(event.toString());
});
}

public function connect(host:String, port:int):void{
Security.loadPolicyFile("xmlsocket://127.0.0.1:843");
socket.connect(host, port);

}

public function isConnected():Boolean{
return socket.connected ? true : false;
}

public function send(msg:String):void{
socket.writeUTFBytes(msg + "\n");
socket.flush();
}

public function readReady():uint{
return socket.bytesAvailable;
}

public function read():String{
return socket.readUTFBytes(socket.bytesAvailable);
}
}
}

Flex+Java Socket多线程实列.rar

ActionScript 游戏引擎

No Comments. Posted in Flex、ActionScript by canleisky on 06-07-2009.

带事件处理,如自动捡游戏币,3D引擎,如房子,可以跳上去,功能算比较全了

ffilmation游戏引擎演示

国外的东西演示,看起来比较简洁,功能还可以

今天上支付宝买东西时出现“您是支付宝数字证书用户,本台电脑上已安装数字证书,请使用本电脑的管理员用户登录。”

问题详情:

      您是支付宝数字证书用户,本台电脑上已安装数字证书,请使用本电脑的管理员用户登录。
      本台电脑上已安装数字证书,但是因为某些原因(如:您未使用电脑管理员登录),无法读取证书信息,请注销或重启电脑后以管理员账户登录!点此查看帮助

      自己分析了一下,最近重装了系统,系统和以前是同一张光盘安装的,IE7当然也是一样的,想了半天还是没发现什么问题。在网上找了相关资料,别人说的我都按做了,还是没用,郁闷之极!

解决问题:

      问题还是出在IE7上面,重新安装个“MultipleIES”,此工具可以提供多个IE版本,我们只用装IE6就可以了,下载请见我的文章“MultipleIEs - 网页设计必备工具”,安装完成之后打开IE6进入支付宝,重新支付,OK

问题总结:

      问题解决了,但是出现这种问题是IE7的错呢还是支付宝的错呢,偶也不清楚,根据自己的经验来判断应该是IE7缓存了页面内容造成的,但是之前的IE7又可以,很是郁闷。

window登陆密码修改

No Comments. Posted in 未分类 by canleisky on 05-17-2009.

方法1:如果Administrator帐户可以登陆的话可以重启按F8进入安全模式,安全模式可以选择用户名的,登陆Administrator后在控制面板的用户帐户中选择相应帐户,然后修改密码,

方法2(比较强悍):重启按F8,进入带命令行的安全模式,选择Administrator登陆,输入命令

net user 用户名 密码 /add

如果还没有权限就再设置一下管理员组

net localgroup administrators 用户名 /add