SpriteBuilder中CCMotionStreak坐标类型不匹配

在SpriteBuilder需要被跟随的(或是说被拖尾的)节点坐标类型是父百分比,先是将CCMotionStreak本身位置设置为百分比类型,但是无效.

将节点坐标改为正常点类型后,MotionStreak可以正常显示.

于是要做一个百分比坐标到点坐标的类型转换:

    _viewSize = [CCDirector sharedDirector].viewSize;

注意这里必须是屏幕点的大小,而不是像素的大小.

然后在更新MotionStreak时:

CGPoint pos = ccp(player.position.x * _viewSize.width, \
                                  player.position.y * _viewSize.height);
                player.streak.position = pos;
时间: 2024-10-03 16:55:25

SpriteBuilder中CCMotionStreak坐标类型不匹配的相关文章

SpriteBuilder中使用Node类型的ccb动画节点删除时崩溃的问题

因为节点需要呈现动画效果,虽然只有两个不同帧. 在SpriteBuilder中新建Bullet.ccb文件,类型为node. 添加如上2张图片,并制作动画效果帧. 在游戏中子弹遇到障碍物会被删除,时机是随机的.子弹在飞出屏幕时也会被删除. 实际运行App会发现必定崩溃,在子弹随机删除几秒后. 发现Xcode总是中断在动画管理器(CCAnimationManager)中,遂将Bullet.ccb的动画效果删除,没有问题了. 因为Bullet的类型是Node,其self.userObject总为ni

SpriteBuilder中节点位置类型为百分比时不能定位的解决

Ball.ccb类型是Node,其中有个子节点为Color Node,其中物理使能. MainScene.ccb中加入一个物理节点,将Ball.ccb拖入其中,成为该物理节点的孩子,这时出现了一个"怪"现象: 如果Ball的位置类型为point时,设置其位置坐标(x,y)可以正确反应位置变化.但是只要x或y任一坐标轴位置类型设置为百分比,则Ball在该轴上无法移动. 在这个问题上耽搁了好久,后来发现原因很简单:MainScene.ccb中的物理节点的Content size属性都为0,

SpriteBuilder中CCMotionStreak提示图片文件找不到

今天写代码时遇到上述问题,代码如下: player.streak = [CCMotionStreak streakWithFade:3.f minSeg:1 width:30 color:[CCColor whiteColor] textureFilename:@"ccbResources/ccbParticleSnow.png"]; 运行出错,console中显示png路径不存在. 路径肯定是正确的.而且其他使用该图片的方法工作正常. 于是找到该方法: CCSpriteFrame *

SpriteBuilder中返回的对象类型不正确的原因

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 最近在码代码的时候,发现一个问题,特此写出来和大家分享,希望遇到类似问题的童鞋不再走弯路. 在SpriteBuilder中新建的CCB文件类型为CCNode,但是想让其对应一个自定义类.在代码中使用: MyClass *obj = [CCBReader load:@"Layers/MyCCBFile"]; [obj myMethod]; 代码,运行后发

SpriteBuilder中使用TrueType字体的一些障碍

在实践中,有一些小的陷阱和障碍可能阻止你使用一般的TrueType字体. 第一个,必须要有一个有效的字体文件.在Finder中双击该.ttf文件,应该会打开Font Book app,显示一个象形符号的字母表.如果没有显示或发生错误,则改字体很可能是损坏的或者不是正确的字体格式. 接下来你要考虑的是字体名不一定和该字体文件的名字一致.字体有3个名字: 字体文件的名字 字体族的名字(family name) 字体的名字 为了使用SpriteBuilder,字体名字和字体文件的名字(除去文件扩展)应

JAVA类型和SQL类型的匹配

已动态创建表为例 (1)    public class DataType {      private int code;      private String SQLType;      private String localType = null;      private String params = null;      private boolean needsSetting = true;       public DataType(int code, String SQLT

SQL查询语句中的bool类型字段值的写法

  SQL查询语句中的bool类型字段值的写法 没有系统地看过SQL语句的写法说明,只是看了一些常用SQL语句的例子.今天写了条select * from table where sex='true',老是提示标准数据类型不匹配(我用的Access),检查了半天,原来sex字段作为bool(是/否)类型,在SQL语句中其值不需要用''引起来.

IE9 CSS因Mime类型不匹配而被忽略问题相关解答

写页面的时候在chrome,fireforks等页面上显示正常,但是换成IE9之后就完全没有样式了.IE真是个奇葩的怪胎.它的报错信息是'CSS 因 Mime 类型不匹配而被忽略',也就是说所有的.css文件全部都不起效果了.去网上查了一些资料,有很多与这个问题相关的回答. 首 先要明白Mine类型是个什么.MIME类型就是设定某种指定扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使 用指定应用程序来打开,多用于指定一些客户端自定义的文件名,以及一些媒体文件

如何修改SpriteBuilder中的按钮禁用启用状态

按钮的禁用状态和按钮的User Interaction Enabled属性并不相符. 后者设定的是按钮是否参与用户交互. 你不能直接在SpriteBuilder中编译按钮的禁用启用属性.除非你想给按钮添加一个定制属性,该属性名称为enabled;然后设置类型和值分别为Bool和0. 唉,你不可以给按钮添加一个定制属性除非你在按钮的Item Code Connections标签中给按钮指定一个定制类.但是谁说这个类非要是一个真的定制类呢? :) 实际上,你可以输入节点在cocos2d中提供的原始类