cocos2dx 实现gallery (一)

        需要实现一个gallery 。 


        首先,最容易想到的,自然是让美工,摆个位置,大小,然后程序记录下来,每次移动的时候,后面一个节点移动到前一个节点的位置,然后再设置成前一个节点的scale和zOrder。

        这么做,可以解决一些问题。比如这个。这样的gallery,只能一次动一格,因为他是直接把节点设置到前一个节点的位置去。如果你想要图随手走,就比较蛋疼了。因为每个节点直接的间距不一样,第一个个节点移动一半,第二个节点该移动多少?后面的节点怎么控制,怎么在2个E点相互遮挡的时候正确的设置zorder?怎么让这个过程看起来很真实,不突兀?要完成这个要求,需要控制的变量太多,而且不直观,也不好理清逻辑。


        再想上面的问题,不好处理的地方是因为每个节点直接的距离不同,不方便处理中间状态。如果把每个节点的距离处理成一样呢?这样确实比较 计算和处理,但是最后出来的效果可能和美工期望的效果不一样的问题。


        再沿着上面,如果有一个通用的公式,来处理这一系列问题,就简单的多了。


        然后,祭出终极方案 —— 用3D模拟,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
package e gallery; import android app Activity; import android os Bundle; import android view LayoutInflater; import android view View; import android view ViewGroup; import android view ViewGroup MarginLayoutParams; import android widget AdapterView; import android widget AdapterView OnItemSelectedListener; import android widget BaseAdapter; import android widget Gallery; import android widget ImageView; import e gallery R; public class MainActivity extends Activity implements OnItemSelectedListener { Gallery gallery; ImageView main imageView; ImageView picture imageView; Gesture+ gesture; int[] ids1 { R drawable b R drawable c R drawable d R drawable f R drawable g }; @Override protected void onCreate Bundle savedInstanceState { super onCreate savedInstanceState ; setContentView R layout main ; main imageView ImageView findViewById R id main imageView ; gallery Gallery findViewById R id gallery ; gallery setOnItemSelectedListener this ; 怎么设置从中间开始 gallery setAdapter new MyAdapter ; } class MyAdapter extends BaseAdapter{ @Override public int getCount { return Integer MAX VALUE; } @Override public Object getItem int position { return null; } @Override public long getItemId int position { return 0; } @Override public View getView int position View convertView ViewGroup parent { LayoutInflater layoutInflater LayoutInflater from MainActivity this ; convertView layoutInflater inflate R layout picture null ; picture imageView ImageView convertView findViewById R id picture imageView ; picture imageView setImageResource ids1[position % 5] ; return convertView; } } @Override public void onItemSelected AdapterView< > parent View view int position long id { main imageView setImageResource ids1[position % 5] ; } @Override public void onNothingSelected AdapterView< > parent { } }">package e gallery; import android app Activity; import android os Bundle; import android view LayoutInflater; import android view View; import android view ViewGroup; import android view ViewGroup MarginLayoutParams; import android widget AdapterView; import android widget AdapterView OnItemSelecte [更多]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值