This is BOBall.m in view mode; [Download] [Up]
#import "BOBall.h" @implementation BOBall - activate:sender :(int)tag { NXSize tsize = {52,52}; NXSize t2 = {26, 26}; [super activate:sender :tag]; [self reinitWithImage:"BOballs" frameSize:&tsize numFrames:10 shape: RECTCIRC alliance: tag radius: 26 buffered: YES x: randBetween(-xOffset, xOffset) y: randBetween(-yOffset, yOffset) theta: randBetween(0, 2 * PI) vel: randBetween(12,35) interval: randBetween(10,25) distToCorner: &t2]; return self; } - positionChanged { [self bounceAtDistance: (xOffset-distToCorner.width) :(yOffset-distToCorner.height)]; [super positionChanged]; return self; } - performCollisionWith:(Actor *) dude { [self bounceOff:dude]; // don't go away return self; } @end @implementation BOSkull - activate:sender :(int)tag { NXSize tsize = {48,48}; NXSize t2 = {24,24}; [super activate:sender :tag]; [self reinitWithImage:"BOskulls" frameSize:&tsize numFrames:2 shape: RECTCIRC alliance: NEUTRAL radius: 24 buffered: YES x: randBetween(-xOffset, xOffset) y: randBetween(-yOffset, yOffset) theta: randBetween(0, 2 * PI) vel: randBetween(12,25) interval: 650 distToCorner: &t2]; return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.