排比句 用提炼关键词做索引;(学学功夫上的口诀)
在页首写上经典的观点; 宽度设置为480像素,ppt源文件上传微盘,会自动转发,可带动微博转发;
最多15页ppt
话题:公益环保类;有影响力的读书心得;心灵鸡汤励志类
封面 中英文交替 英文是eros bold ITCc 封面加图
QQ空间和微博用户比较:
QQ用户无聊、微博用户控制欲强;
QQ用户受教育程度底、喜欢跟风;话题局限于小圈子;对转发后朋友对自己的这一动作看法更看中。越恶俗的段子,QQ转发越多;
微博用户更有正义感;
长微博:
微博>QQ:QQ打开大图的模式是全屏式,转发按钮不已找到。对于大图,QQ用户打开后变基于关闭,无暇估计是评论还是转发。图片的打开就好像系统弹窗弹出一样,没有谁会对弹窗敢兴趣。只想拜托这一异常模式。
QQ转发是转给朋友看的,QQ每一个动作都是在做给别人看;微博更随性,不会想太多;
转发,请保持地址:http://blog.csdn.net/stalendp/article/details/8593256
游戏中,物理引擎能够增加游戏的真实感。在WiEngine中集成了Box2d和Chipmunk两款物理引擎。物理引擎中提供了位置,速度,冲量,力等概念,能够方便地操作物体,当然也有更高级的特性(比如joint等)。在做demo程序集成物理引擎的时候,我只是用到了冲量和碰撞的特性。由于对Box2d熟悉,所以只介绍Box2D在游戏中的使用。
类似于TexturePacker工具,我这里将使用PhysicalEditor来定义游戏中body(Box2d中赋予body物理学中“刚体”的含义,属于基本单位)。TextureEditor的编辑过程,截图如下:
由于是动画,各帧有所不同,所以我只是粗略地定义了Fxiture(这样也减少了Fxiture的点的数目,提高效率)。其他密度,摩擦系数等随便设置,我这里暂且默认,以后在代码中也可以重新定义的。然后导出为plist文件(这里保存为herope.plist文件),截图如下:
这样plist中就包含了用于创建body的一些属性了,如上图所示的有:密度,摩擦系数,恢复,fixture等。
然后就是在WiEngine中使用物理引擎了,先载入plist文件。
m_bodyLoader = new wyBox2DPELoader(RES("R.raw.herope"));
接着是Sprite和Body的绑定,其中用到了Body的userData来绑定sprite
hero_body = m_bodyLoader->createBodyByName(m_box2d, "boyrun");
wyPoint anchorPercent = m_bodyLoader->getAnchorPercent("boyrun");
hero->setAnchor(anchorPercent.x, anchorPercent.y);
hero_body->SetUserData(hero);最后就是游戏运行中更新物理世界,以及相应Sprite,以便WiEngine正确绘制。
void onUpdate() {
m_box2d->getWorld()->Step(1.0f / 60, 10, 10);
m_box2d->getWorld()->ClearForces();
b2Vec2 pos = hero_body->GetPosition();
float angle = hero_body->GetAngle();
//从UserData中取出相应的Sprite
wySprite* sprite = (wySprite*) hero_body->GetUserData();
sprite->setPosition(m_box2d->meter2Pixel(pos.x),
m_box2d->meter2Pixel(pos.y));
sprite->setRotation(-wyMath::r2d(angle));
}为了让物体能够跳跃,我在屏幕上放置了Jump按钮。点击Jump按钮,就会给Hero一个向上的Impulse(冲量,即力随时间的积累效应,用来改变Hero的速度)。
void jump() {
hero_body->ApplyLinearImpulse(b2Vec2(0, 30.0f),
hero_body->GetWorldCenter());
}这样我们的Hero就会跳动了。
另外按钮的代码如下:
class Buttons: public wyLayer {
private:
MyScene* scene;
public:
Buttons(MyScene* s) {
this->scene = s;
myButton* btnJump = new myButton("Jump");
btnJump->setPosition(wyDevice::winWidth / 2 - DP(60),
wyDevice::winHeight / 2);
addChildLocked(btnJump);
btnJump->setMyUS(wyTargetSelector::make(this, SEL(Buttons::onJump)));
this->m_positionY += DP(150);
}
void onJump(wyTargetSelector* ts) {
log("Jump button clicked!");
scene->hero->changeAction(BOY_JUMP);
scene->jump();
}
};
游戏运行截图如下:
=======
另外附
NDK的错误堆栈的翻译
1)在Application.mk文件中指定debug,如下:
APP_OPTIM := debug
这样编译之后,在工程的目录/obj/local/armeabi/下会生成objs-debug目录,这里面包含编译的符号表
2)把要分析的log保存到log.txt文件中
运行命令:ndk-stack -sym $PROJECT_PATH/obj/local/armeabi -dump log.txt
或者直接分析logcat中的日志:
adb logcat | $NDK/ndk-stack -sym $PROJECT_PATH/obj/local/armeabi
html>
<head>
<title></title>
<style type="text/css">
body{padding:0px;margin:0px;font-size:12px;overflow:hidden;background:#000;}
#container div{padding:10px;position:absolute;border:0px dotted brown;width:0px;color:#FF0000;cursor:pointer;}
.text{padding:10px;color:#ccc;}
</style>
<script type="text/javascript" src="http://www.cozof.com/images/js/jquery.min.1.5.js"></script>
<script type="text/javascript">
var goldFallInterval;
var goldFallStart=0;
function initGoldFall(){
var length = $('div','#container').length;
if(length<4){
for(i=0;i<6;i++){
$('div','#container').clone().prependTo('#container');
}
}
}
function startGoldFall(){
clearInterval(goldFallInterval);
endCount = 0;
range();
goldFallStart = new Date().getTime();
goldFallInterval= setInterval(dropGoldFall,200);
}
//排列
function range()
{
var num = 1;
$('div','#container').each(function(i)
{
var ww = $(window).width();//窗口宽度
var wh = $(window).height();
var ot = -20;//从头部以上开始
$(this).css({"left":(i*(ww/64)) +"px","top":"-50px"});//距左距离保持,距上距离变化
num ++;
});
}
//降落
function dropGoldFall()
{
var now = new Date().getTime();
if(now - goldFallStart >3000){
clearInterval(goldFallInterval);
}
var $objs = $('div','#container');
$objs.each(function(i)
{
var wh = $(window).height();
var ol = $(this).offset().left;
var ot = $(this).offset().top;
var rnd = Math.round(Math.random()*100);
var rnd2 = Math.round(Math.random()*50);
//降落的速度
if(ot<=wh)//如果掉到窗口以下
{
$(this).css({"top":(ot+rnd+rnd2) +"px"});
}
});
}
function fn(){
initGoldFall();
startGoldFall();
}
</script>
</head>
<body>
<!--begin-->
<div id="container">
<div><img src=/blog_article/image/gold.png ></div>
</div>
woafdasfasfdasfsadfasfasf<input type=button onclick="fn();" value=test>
<!--end-->
</body>
<script language="javascript">
</script>
</html>问题描述
initGoldFall(); startGoldFall();