jikecyatmcn 发表于 2015-2-7 22:08:59

12864+Arduino自制小游戏半成品



兴起买了一块屏幕 一直沉睡者不知道做什么用,周四突然想搞个游戏试试?游戏过程就是简单的就是跳过障碍。希望大手给予指导。

样子就是视频里那样了,现在的问题是不知道怎么判断和障碍撞上了,是判断人物和障碍物的坐标吗?

还有就是我按下按钮如果不松开,人物就不会掉下来,不掉下来就不能判断游戏失败啊。。。。求解。还有程序不知道算是个

显示程序还是算是个游戏程序,总觉得哪里不对。。。{:soso_e144:}


不会在程序里添加中文,装插件太麻烦了,对程序做几点解释吧:

drawtre就是屏幕中过往的树也就是障碍物,

drawpeople就是游戏主人公了,请自动脑补人物形象 这里已一条竖线代替。

drawpeoplejump,jump2,jump3是想做一个人物跳起并落下的动画,结果很不是理想。。。


u8g.drawLine(x,50,x,63);
u8g.drawCircle(x,50,8);此处的X就是大树移动的坐标了。。。

求赐教!{:soso_e150:} http://v.youku.com/v_show/id_XODg4NzA4OTI0.html

#include "U8glib.h"
U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);
int x;
void setup()
{
pinMode (14,INPUT);
}
//////////////////////////////////////
void drawtree()
{
u8g.drawLine(x,50,x,63);
u8g.drawCircle(x,50,8);
}

void drawpeople()
{
u8g.drawLine(20,50,20,63);
}

////////////////////////////////////
void drawpeoplejump()
{
u8g.drawLine(20,29,20,42);
}
////////////////////////////////
void drawpeoplejump1()
{
u8g.drawLine(20,35,20,46);
}
//////////////////////////////
void drawpeoplejump2()
{
u8g.drawLine(20,40,20,51);
}
//////////////////////////////
void loop(void)
{
for (x =127;x > 0;x--)
{
    u8g.firstPage();
    do               
    {
      if ( digitalRead (14) == LOW )
      {
      drawpeoplejump();
      //drawpeoplejump1();
      //drawpeoplejump2();
      }
      else {
      drawpeople();
      }
      drawtree();

    }
    while( u8g.nextPage() );
    delay(30);
}
}


wing 发表于 2015-2-8 11:33:34

屏还算不错,就是有点耗电,如果是E-ink,E-paper之类的就更炫了

jikecyatmcn 发表于 2015-2-8 22:03:54

wing 发表于 2015-2-8 11:33 static/image/common/back.gif
屏还算不错,就是有点耗电,如果是E-ink,E-paper之类的就更炫了

{:3_55:}电纸书啊 没接触过

leicheng 发表于 2015-2-8 22:49:12

本帖最后由 leicheng 于 2015-2-9 08:51 编辑

赞一个,有创意。 确实需要碰撞检测,加个判断函数,具体的检测方法与你构建的物理模型有关。你这里仅仅只是个二维场景,对象也简单,因此可以用纵坐标之差进行判断,横坐标在设定的范围内才算得分。按住按钮不放,人物不下来,可以采用时间间隔检测的办法来避免。如果两次按按钮的时间差小于某一设定值,对第二次按的按钮无视,即直接drawpeople。判断时间差利用millis()或micros()。另外建议适当延长小人每一跳的空中滞留时间。

jikecyatmcn 发表于 2015-2-9 12:22:21

leicheng 发表于 2015-2-8 22:49 static/image/common/back.gif
赞一个,有创意。 确实需要碰撞检测,加个判断函数,具体的检测方法与你构建的物理模型有关。你这里仅仅只是 ...

{:3_59:}感谢感谢很有启发!!!
页: [1]
查看完整版本: 12864+Arduino自制小游戏半成品