Help Combining Shapes Rotate
Hello Everyone ... Level: Newbie OS: Win7 64bit PS: Cs6
I have made a Rectangle of which I have altered the shape
Next and on the same layer I have selected the Ellipse tool and set it to Combine Shape
then I have been creating small circles and placed them down the left and right side ~ I have placed the circles half on the Rectangle and half off
however, when I go to Rotate the object(s) they are no longer Combined and will not Rotate together .... ??
any ideas?
Oh, also ... I am repeating the circles from top to bottom and I would like to keep them percisely in line but when I use Direct Selection tool to select the first circle made and then use Copy & Paste and then use the arrow keys to move the circle straight up ... are these Copied and Moved circles still in Combine Shape mode? Just Wondering because it doesn't seem like they are still combined.
I've deselected by clicking the Move tool after making all the circles but that doesn't help either.
Thank you
When the shapes are all in one layer they will rotate as a unit unless you use the Path Selection Tool to select some path(s) and not others and then rotate.
You don't have to copy and paste to duplicate paths in a Shape layer. You can Opt/Alt-drag with the Path Selection Tool to duplicate and move. Combine with Shift key to constrain to horizontal/vertical. The PST also has alignment and distribution options.
Smart Guides (magenta lines) are a great aid to alignment but to use them you'll have to make separate Shape layers and then merge after they're aligned
Similar Messages
-
I need Help for Shape Hints.
Dear friend,
I want some help on Shape Hints. When we use a box for
creating a animated
cube using shape hints. The prespective view don't shows the
center line
between two sides while rotating. How to create or get that
line?
Thanks & Regards
Arvind SharmaSee my reply to your previous thread : https://discussions.apple.com/message/22851849#22851849
-
How to make shape rotation at it's center point?
I draw a shape,like follows:
var shape1:Shape;
shape1=draw();
addChild(shape1);
shape1.rotation=50;
private function draw():Shape{
var shape:Shape = new Shape();
shape.graphics.beginFill(0x00FFFF);
shape.graphics.moveTo(200,200);
shape.graphics.lineTo(300, 202);
shape.graphics.lineTo(200, 204);
shape.graphics.lineTo(100, 202);
shape.graphics.lineTo(200, 200);
return shape;
Then I want to rotate the shape at it's center point(200,202) by using shape1.rotation=50,but I find the shape don't rotate at the the center of it's shape. How to realize the function which make shape rotate at its center point?
ThanksHere is a sample to make it rotate from center:
var sprite:Sprite=new Sprite();
sprite.graphics.lineStyle(3,0x00ff00);
sprite.graphics.beginFill(0x0000FF);
sprite.graphics.moveTo(0,0);
sprite.graphics.lineTo(100,0);
sprite.graphics.lineTo(100,100);
sprite.graphics.lineTo(0,100);
sprite.graphics.lineTo(0,0);
sprite.graphics.endFill();
var mc:Sprite=new Sprite();
mc.addChild(sprite);
//This will make the sprite to center
mc.getChildAt(0).x=-(mc.getChildAt(0).width/2);
mc.getChildAt(0).y=-(mc.getChildAt(0).height/2);
addChild(mc);
mc.x=200;
mc.y=300;
//Now it rotates from the center.
mc.rotation=20; -
I just re-installed Adobe Reader XI and am now finding that it doesn't feature option to extract/combine documents, rotate, etc. Assuming this is a different version? Or was the other version an upgraded version?
What probably happened here is that you installed Adobe Reader but before you were using Adobe Acrobat. Reader doesn't have these particular options.
You may still have your old version of Acrobat. Look around in your programs and you'll probably find it. -
How do you copy & paste a shape that is part of a "combined shape" to a new layer?
How do you copy & paste a shape that is part of a "combined shape" to a new layer? For instance, I have a combined shape of 2 rectangles (not merged) and I want a copy of one of those rectangles as a new shape layer. I know I can duplicate the entire layer and delete the shape(s) I don't need - but I was wondering if there was an easier, more straightforward solution.
Hi,
What version of photoshop are you using?
In photoshop cs6/cc you could use the Path Selection Tool to select one of the paths and then Layer via Copy
(Ctrl+J or Cmd+J) -
I'm trying to help a friend with the Flash Banner Rotator
She needs to make the image clickable and pop up the scroll text box item exactly like when you rollOver the title and the scroll text box pops up.
She wants the image to trigger the text box to open and close onRelease and onRollOut from the image.
Here's the swf live:
http://bgehome.com/index3.php
Any help would be great
This AS opens the Text Box
textMc.scrolltxt.bg.onRollOver = function(){ // pop up scrolltxt
mainContent["tex" + newPos]._y = thumbHeight - textMc.scrolltxt.bg._height;
isReading = true;
textMc.scrolltxt.bg.onRollOut = textMc.scrolltxt.bg.onReleaseOutside = function(){ // pop down scrolltxt
if(!mainContent["tex" + newPos].scrolltxt.bg.hitTest(_root._xmouse, _root._ymouse, true)){
mainContent["tex" + newPos]._y = thumbHeight - textMc.imtext._height;
isReading = false;
Full AS
thumb.useHandCursor=false;
// Thumb/ Banner Rotator //
///Initialisation //
var bgmask:MovieClip = bckgrnd.duplicateMovieClip("bgmask"); // Create a mask to place on top of mainContent, which contains the images
var contentWidth:Number = bgmask._width;
bgmask._width = contentWidth;
var XMLContent = new XML(); // Create a new XML object
XMLContent.ignoreWhite = true;
XMLContent.load("Banner.xml"); // Load the XML content from Banner.xml (which is the name of the xml file) in XMLContent variable
//XMLContent.load("Thumbnail.xml");
var cssStyle = new TextField.StyleSheet(); // Create a new StyleSheet object
// Create Containers
var mainContent:MovieClip = this.createEmptyMovieClip("mainContent",this.getNextHighestDepth()); // Contains thumbs
leftBtn.swapDepths(mainContent); // Make sure leftBtn ...
rightBtn.swapDepths(leftBtn.getDepth + 1); // and rightBtn is on top of the mainContent
var pieMc:MovieClip = this.createEmptyMovieClip("pie", this.getNextHighestDepth()); // Create movieClip which contains the pieLoader
var format = new TextFormat(); // Make a new TextFormat
format.font = "arial"; // with font PF Ronda Seven, if you want to change the font, do it here
format.size = 18; // Font size, for pixel fonts use 8
var mclListener:Object = new Object(); // Make event listener object
var clipLoader = new MovieClipLoader(); // Make a MovieCLipLoader to load the images
clipLoader.addListener(mclListener); // The event listener is added to the MovieClipLoader object
var iniNum:Number = 0; // initional relative number for thumb/banner positioning
var thumbHeight:Number; // see xml document
var thumbWidth:Number; // see xml document
var thumbSpace:Number; // see xml document
var contentPos_Y:Number; // see xml document
var thumbDir:String; // see xml document
var dispThumbNumber:Number; // see xml document
var linkDestiny:String; // see xml document
var shiftTime:Number; // see xml document
var fadeInTime:Number; // see xml document
var easeSpeed:Number; // see xml document
var imagesTotal:Number; // amount of thumbs
var dwLoader:Number = 0; // pie segment angle
var arcVal:Number = 0; // total pie angle
var isReading:Boolean = false; // boolean: set true when reading. When true the pieLoader will stop
var prevXPosition:Number = 0; // previous absolute x position
var nextXPosition:Number = 0; // next absolute x position
var images; // image array
// XML, CSS Loading //
cssStyle.load("ThumbBannerRotator.css");
XMLContent.onLoad = function() { // Couple xml parameters with program variables
iniNum = 0;
nextXPosition = 0;
prevXPosition = 0;
dwLoader = 0;
arcVal = 0;
// images = array with images and titles and webUrls
images = XMLContent.firstChild.childNodes[0].childNodes;
imagesTotal = images.length;
// Other parameters
thumbHeight = XMLContent.firstChild.attributes.thumbHeight;
thumbWidth = XMLContent.firstChild.attributes.thumbWidth;
startPos = XMLContent.firstChild.attributes.startPos;
easeSpeed = XMLContent.firstChild.attributes.easeSpeed;
linkDestiny = XMLContent.firstChild.attributes.linkDestiny;
thumbDir = XMLContent.firstChild.attributes.thumbDir;
dispThumbNumber = XMLContent.firstChild.attributes.dispThumbNumber;
shiftTime = XMLContent.firstChild.attributes.shiftTime;
fadeInTime = XMLContent.firstChild.attributes.fadeInTime;
// Calculate the other program variables
contentPos_Y = (bckgrnd._height - Number(thumbHeight))/2
thumbSpace = (contentWidth - dispThumbNumber*thumbWidth)/(Number(dispThumbNumber) +1);
dwLoader = 100 * 3.6 / (Number(shiftTime) * 24);
mainContent._y = contentPos_Y; // Position form top
bgmask._height = thumbHeight;
bgmask._y = contentPos_Y;
mainContent.setMask(bgmask);
// Load the first images
for(var i = 0; i < dispThumbNumber ; i++){
loadImage(i,0,"load");
loadText(i,0,"load");
function shiftPic(direction:String){
if (isReading == false){
callPic(direction);
function callPic(direction:String) { // Call images, captions and titles and add them to containers: mainContent
if(direction == "left"){
var newPos:Number = (iniNum -1) % imagesTotal; // Calculate the relative position off the new image, this number corresponds with the index number from the image-array
var remPos:Number = (iniNum+( Number(dispThumbNumber) - 1)) % imagesTotal; // Calculate the relative position off the image that needs to be removed
var prevPos:Number = iniNum % imagesTotal; // Calculate the relative position off the images before the new image
nextXPosition = prevXPosition + Number(thumbSpace) + Number(thumbWidth); // Calculate the absolute x position = previous position + thumbSpace and thumbWidth, used in ease function
prevXPosition = nextXPosition; // Update prevPosition
iniNum = iniNum - 1; // Substract the iniNumber
if(direction == "right"){
var remPos:Number = iniNum % imagesTotal; // Calculate the relative position off the new image, this number corresponds with the index number from the image-array
var newPos:Number = (iniNum+ Number(dispThumbNumber)) % imagesTotal; // Calculate the relative position off the image that needs to be removed
var prevPos:Number = (iniNum+(Number(dispThumbNumber) - 1)) % imagesTotal; // Calculate the relative position off the images before the new image
nextXPosition = prevXPosition - Number(thumbSpace) - Number(thumbWidth); // Calculate the absolute x position = previous position + thumbSpace and thumbWidth
prevXPosition = nextXPosition; // Update prevPosition
iniNum = iniNum + 1;
if (newPos < 0){ //If newPos is negative, make it positive
newPos = imagesTotal + newPos;
if (remPos < 0){ //If remPos is negative, make it positive
remPos = imagesTotal + remPos;
if (prevPos < 0){ //If prevPos is negative, make it positive
prevPos = imagesTotal + prevPos;
loadImage(newPos, prevPos, direction); // Load images and image titles
loadText(newPos, prevPos , direction); // Load titles and caption
mainContent[remPos].removeMovieClip(); // remove the image with name "remPos"
mainContent["tex" + remPos].removeMovieClip(); // remove the text with name tex"remPos"
arcVal = 0; // reset the pieLoader
function loadImage(newPos:Number, prevPos:Number, direction:String){
thumbURL = images[newPos].attributes.thumbPath; // Get thumbUrl from images-array
thumbMc = mainContent.createEmptyMovieClip(""+newPos, mainContent.getNextHighestDepth()); // Create new thumbMc movieClip variable
thumbMc._alpha = 0; // Alpha = zero for fade in effect
if (direction == "left"){
thumbMc._x = mainContent[prevPos]._x - Number(thumbWidth) - Number(thumbSpace); // positioning of thumbMc
if (direction == "right"){
thumbMc._x = mainContent[prevPos]._x + Number(thumbWidth) + Number(thumbSpace); // positioning of thumbMc
if(direction == "load"){
thumbMc._x = Number(thumbWidth*newPos) + Number(thumbSpace*(newPos+1)) ; // positioning of thumbMc
addLoader(thumbMc);
clipLoader.loadClip(thumbDir+thumbURL, thumbMc); // Load the images in the thumbMc
function loadText(newPos:Number, prevPos:Number, direction:String){
thumbTitle = images[newPos].attributes.title; // Get title from images-array
thumbDesc = images[newPos].attributes.description; // Get caption description from images-array
textMc = mainContent.createEmptyMovieClip("tex"+newPos, mainContent.getNextHighestDepth()); // Create new titleMc moveClip variable
if (direction == "left"){
textMc._x = mainContent[prevPos]._x - Number(thumbWidth) - Number(thumbSpace); // positioning of textMc
if (direction == "right"){
textMc._x = mainContent[prevPos]._x + Number(thumbWidth) + Number(thumbSpace); // positioning of textMc
if(direction == "load"){
textMc._x = Number(thumbWidth*newPos) + Number(thumbSpace*(newPos+1)) ; // positioning of textMc
textMc.attachMovie("scrollText" , "scrolltxt", textMc.getNextHighestDepth());
textMc.scrolltxt.bg._width = Number(thumbWidth); // set background width
textMc.scrolltxt.main.content.styleSheet = cssStyle; // set css style
textMc.scrolltxt.main.content._width = Number(thumbWidth) - 30; // set scrolltext components width
textMc.scrolltxt.maskMc._width = Number(thumbWidth) - 10; // set scrolltext components width
textMc.scrolltxt.dragger._x = textMc.scrolltxt.bar._x = textMc.scrolltxt.upBtn._x = textMc.scrolltxt.downBtn._x = textMc.scrolltxt.stripe._x = Number(thumbWidth) - 10; // positioning of scrolltext components
textMc.scrolltxt.main.content.text = thumbDesc; // set text
textMc.scrolltxt.main.content.embedFonts = true;
textMc.scrolltxt.main.content.selectable = false;
textMc.scrolltxt.main.content.setTextFormat(format); // set text format
textMc.scrolltxt.main.content._height = textMc.scrolltxt.main.content.textHeight + 5; // calculate height of text
textMc.createTextField("imtext",1,0,0,thumbWidth,48); // Create a textfield in the titleMc for the image title
textMc.imtext.embedFonts = true;
textMc.imtext.text = thumbTitle; // Add text
textMc.imtext.selectable = false;
textMc.imtext.textColor = 0xaddf99; // Set textColor to pink
textMc.imtext.setTextFormat(format); // set text format
textMc.imtext._x = Math.round((thumbWidth - textMc.imtext.textWidth)/2);
textMc._y = thumbHeight - textMc.imtext._height;
textMc.attachMovie("arrow", "arrowMc", textMc.getNextHighestDepth()); // add arrow
textMc.arrowMc._x = Number(thumbWidth) - textMc.arrowMc._width;
textMc.arrowMc._y = Number(textMc.arrowMc._height);
textMc.arrowMc._alpha = 0;
textMc.scrolltxt.bg.onRollOver = function(){ // pop up scrolltxt
mainContent["tex" + newPos]._y = thumbHeight - textMc.scrolltxt.bg._height;
isReading = true;
textMc.scrolltxt.bg.onRollOut = textMc.scrolltxt.bg.onReleaseOutside = function(){ // pop down scrolltxt
if(!mainContent["tex" + newPos].scrolltxt.bg.hitTest(_root._xmouse, _root._ymouse, true)){
mainContent["tex" + newPos]._y = thumbHeight - textMc.imtext._height;
isReading = false;
function addLoader(thumb:MovieClip){ // Add a preloader to every thumbnail
mainContent.attachMovie("smallLoader", "preloader" + thumb._name, mainContent.getNextHighestDepth()); // add preloader
mainContent["preloader"+thumb._name]._x = thumb._x + (thumbWidth - mainContent["preloader"+thumb._name]._width) /2; // positioning
mainContent["preloader"+thumb._name]._y = (thumbHeight - mainContent["preloader"+thumb._name]._height) /2; // positioning
mclListener.onLoadInit = function(thumb:MovieClip) {
mainContent["preloader"+thumb._name].removeMovieClip();
mainContent[""+thumb._name].onEnterFrame = function(){ // Fade in Effect
mainContent[""+thumb._name]._alpha += Number(fadeInTime); // Every frame the alpha of the thumbnail is added by fadeInTime.
if(mainContent[""+thumb._name]._alpha >= 100){
delete mainContent[""+thumb._name].onEnterFrame; // When fade in effect is done, remove the onEnterFrame funtion
mclListener.onLoadComplete = function(thumb){ // When a thumb is fully loaded, add button action
thumb.onRelease = function(){ // When button released, execute function below
var i = Number(thumb._name)%imagesTotal;
// Go to a website defined in the xml document
thumb.onRollOver = function(){ // make alpha of arrow 100 on roll over
var i = Number(thumb._name)%imagesTotal;
mainContent["tex" + i].arrowMc._alpha = 100;
thumb.onRollOut = function(){ // make alpha of arrow 0 on roll over
var i = Number(thumb._name)%imagesTotal;
mainContent["tex" + i].arrowMc._alpha = 0;
// Button and Position Handling ///
// Left button
leftBtn.onPress = function() {
if (isReading == false){ // onPress call the next picture on the right
callPic("left");
leftBtn.onRollOver = function(){ // onRollOver move the arrow by 5 pixels
if(isReading == false){
leftBtn.arrow._x -= 5;
leftBtn.onRollOut = leftBtn.onReleaseOutside = function(){
if(isReading == false){
leftBtn.arrow._x += 5 ; // onRollOut reset the arrow
// Right button
rightBtn.onPress = function() {
if(isReading == false){
callPic("right"); // onPress call the next picture on the right
rightBtn.onRollOver = function(){
if(isReading == false){
rightBtn.arrow._x += 5 ; // onRollOver move the arrow by 5 pixels
rightBtn.onRollOut = rightBtn.onReleaseOutside = function(){
if(isReading == false){
rightBtn.arrow._x -= 5; // onRollOut reset the arrow
pieMc.onRelease = function(){
if (dwLoader != 0){ // Stops the pieLoader
dwLoader = 0;
else{
dwLoader = 100 * 3.6 / (Number(shiftTime) * 24); // Start the pieLoader
// Easing function //
//Used to give that cool ease effect on the mainContent, titleContainer and reflectContainer and dragger
// Want to change the ease effect? check help document
this.onEnterFrame = function() { // Start endless loop, executed every time frame is updated // If dragEase is false don't allow easing for the dragger
if (dwLoader != 0 && isReading == false){
arcVal += Number(dwLoader); // new value of arcVal is the old value plus dwLoader
pieMc.clear();
pieMc.beginFill(0xaddf99, 100); // draw the pie shape with pink color, you can change the color in this line
pieMc.drawPie(bckgrnd._width - 20, 20, 90, -arcVal, 7); // position the pieLoader, 90 = startAngle, 7 = radius
pieMc.endFill();
if (arcVal > 360){
shiftPic("right"); // If the pie-angle = 360 call the next picture/thumbnail
arcVal = 0;
dx = (nextXPosition - mainContent._x) * easeSpeed; // Calculates how much the mainContent needs to move, note that dx is becomming smaller and smaller when the mainContent reaches its final position.
mainContent._x += dx; // Move the mainContent
MovieClip.prototype.drawPie = function(x, y, startAngle, arc, radius) { // x, y = center point of the wedge.startAngle = starting angle in degrees.arc = sweep of the wedge. Negative values draw clockwise.
this.moveTo(x, y); // move to x,y position
var segAngle, theta, angle, angleMid, segs, startx, starty, anchx, anchy, contrx, contry; // Init vars
segs = Math.ceil(Math.abs(arc)/20); // Devide the arc in 20 segments
segAngle = arc/segs; // Calculate the sweep of each segment.
theta = -(segAngle/180)*Math.PI; // Convert to radions
angle = -(startAngle/180)*Math.PI; // Convert startAngle to radians
startx = x + Math.cos(startAngle/180*Math.PI) * radius; // Calculate curve start x position
starty = y + Math.sin(-startAngle/180*Math.PI) * radius; // Calculate curve start y position
this.lineTo(startx, starty); // Draw a line from the center to the start of the curve
for (var i = 0; i<segs; i++) { // Loop for drawing curve segments
angle += theta; // Icrement angle with segAngle => theta (in radians)
anchx = x+Math.cos(angle)*radius; // Calculate parameters for curveTo function
anchy = y+Math.sin(angle)*radius; // Calculate parameters for curveTo function
contrx = x+Math.cos(angle-(theta/2))*(radius/Math.cos(theta/2)); // Calculate parameters for curveTo function
contry = y+Math.sin(angle-(theta/2))*(radius/Math.cos(theta/2)); // Calculate parameters for curveTo function
this.curveTo(contrx, contry, anchx, anchy); // Draw the curve
this.lineTo(x, y); // close the curve by drawing a line to the centerAs is always the case in this sort of situation, you ask the printer, or banner maker. If you have a particular company in mond, they may have a website with guidelines, and that is going to be much better information than the guesses - good though 'some' of them might be.
25' by 16' is huge. Have you found somewhere that will make it? This company will supply 25 foot long banners, at a surprisingly cheap $176, but only 3 foot high. The problem being the width of the printer.
http://www.allstatebanners.com/3x25-vinyl-banner -
i am wondering how to rotate a shape, such that I can still check for intersections, etc, with the shape in it's rotated state. I know Graphics2D has a rotate method, but that wouldn't allow me to check for an intersection between a rotated rectangle (e.g 45 degrees around central axis) and an ellipse2d.
can AffineTransform or PathIterator help?thanks fred, that might be just what I need. Can someone confirm this psuedocode:
1. Convert shape to Area
2. Create AffineTransform and rotate it by x radians
3. Set transform of Area to affinetransform
4. Call intersects method of ellipse
thanks -
Is there a way that I can automatically place the rotation axis on a 3D shape in the dead center of the shape (on the X,Y and Z axis) or do i have to just do it by hand?
If the shape was drawn with the pen tool then you have to position the shape's anchor point by hand.
If the shape was created with the Shape tools then you can reveal the transform shape properties and reset the position property to 0,0
If the shape has a odd number of sides, like a triangle, this will not work properly so you will have to eyeball the shape center.
I usually use the Transform properties for the shape for this instead of using the Layer Anchor point because it is easier to be accurate with even sided shapes than using the layer's anchor point or the anchor point tool. -
Need help combining docs in Pages or Preview--glitches
I'm trying to combine about 20 short docs into one, so it will print as one document. I've tried the following, and run into these problems:
1) Copying thumbnails in Pages. This works most of the time--however, every now and then, it will only copy one page of a multiple-page document. It doesn't seem to matter what/where I click, only the first page of the doc will copy over. This seems to happen every fourth document or so.
2) In Preview: tried combining PDFs by dragging and dropping from the sidebar. However, that created something that, while looking like a 38 page single document, still considered each document as separate. When I went to print, it would only print the document that was in the window.
3) In Preview: tried doing the drag-and-drop by dragging directly on to the page in the sidebar, instead of below or above (as recommended for Snow Leopard in a MacWorld article). Didn't work. The green plus sign appeared, but after I dragged and dropped, the new pages would disappear.
It would be incredibly helpful if I could solve this problem. I've combined a number of how-to sheets into a packet, and not being able to combine them into a single document means a very long night of collating!
Thanks for any help.
BTW, I'm on an iMac, Snow Leopard (10.6.8), Preview 5.0.3 and Pages 4.1.When copying the Thumbnails in Pages '09 to paste into the Thumbnails of a 2nd document, they both must have the same page dimensions and orientation.
When selecting make sure you have all the sections selected (surrounded by a yellow border). Hold down the shift key and select a range or individual selections if need be.
I have tested this and it works. Even between Word Processing and Layout templates.
In Preview I tested the merge and yes there appears to be a bug, even after saving, then printing.
It is not just the two parts treated as separate however, it seems to drop pages at random. Some from the dragged over version and some from the original.
Possibly it is retaining only pages with different numbers, because it did not renumber them. I will test it further later on when I have time.
Peter -
Need Help In Solving Rotation Image Problem
1 down vote favorite
Hi guys ,
I need your help please. I have spent hours trying to solve it but not working.
I have an image i am rotating when the user clicks on a button. But it is not working.
I would like to see the image rotating gradually till it stops but it doesn't. This it what it does. After i click the button, i don't see it rotating. But when i minimize and maximize the main window, i see the image just rotate(flip) fast like that. It does the rotation but i don't see it as it is doing. It just rotate in a second after minimize and maximize the main window.
I thimk the problem deals with updating the GUI as it is rotating but i don't know how to fix it.
these are the code . Please i have trimed down the code for easy reading.
public class KrusPanel extends JPanel{
private Image crossingImage;
private int currentRotationAngle;
private int imageWidth;
private int imageHeight;
private AffineTransform affineTransform;
private boolean clockwise;
private static int ROTATE_ANGLE_OFFSET = 2;
private int xCoordinate;
private int yCoordinate;
private javax.swing.Timer timer;
private void initialize(){
this.crossingImage = Toolkit.getDefaultToolkit().getImage("images/railCrossing3.JPG");
this.imageWidth = this.getCrossingImage().getWidth(this);
this.imageHeight = this.getCrossingImage().getHeight(this);
this.affineTransform = new AffineTransform();
this.setCurrentRotationAngle(90);
timer = new javax.swing.Timer(20, new MoveListener());
public KrusPanel (int x, int y) {
this.setxCoordinate(x);
this.setyCoordinate(y);
this.setPreferredSize(new Dimension(50, 50));
this.setBackground(Color.red);
TitledBorder border = BorderFactory.createTitledBorder("image");
this.setLayout(new FlowLayout());
this.initialize();
public void paintComponent(Graphics grp){
Rectangle rect = this.getBounds();
Graphics2D g2d = (Graphics2D)grp;
g2d.setColor(Color.BLACK);
this.getAffineTransform().setToTranslation(this.getxCoordinate(), this.getyCoordinate());
this.getAffineTransform().rotate(Math.toRadians(this.getCurrentRotationAngle()), this.getCrossingImage().getWidth(this) /2,
this.getCrossingImage().getHeight(this)/2);
g2d.drawImage(this.getCrossingImage(), this.getAffineTransform(), this);
public void rotateCrossing(){
this.currentRotationAngle += ROTATE_ANGLE_OFFSET;
int test = this.currentRotationAngle % 90;
if(test == 0){
this.setCurrentRotationAngle(this.currentRotationAngle);
timer.stop();
repaint();
private class MoveListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
rotateCrossing();
repaint();
// There are getters and setters method here but i have removed them to make the code shorter.
}Next 2 Classes
// I have removed many thins in this class so simplicity. This class is consists of Tiles of BufferdImage and the
// KrusPanel class is at the array position [2][2]. It is the KrusPanel class that i want to rotate.
public class SeePanel extends JPanel{
private static KrusPanel crossing;
private void initializeComponents(){
timer = new javax.swing.Timer(70, new MoveListener());
this.crossing = new CrossingPanel(261,261);
public SeePanel(){
this.initializeComponents();
public void paintComponent(Graphics comp){
super.paintComponent(comp);
comp2D = (Graphics2D)comp;
BasicStroke pen = new BasicStroke(15.0F, BasicStroke.CAP_BUTT,BasicStroke.JOIN_ROUND);
comp2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
comp2D.setPaint(Color.red);
comp2D.setBackground(Color.WHITE);
comp2D.drawImage(img, 0, 0, null);
comp2D.draw(this.horizontalRail);
this.crossing.paintComponent(comp2D);
this.rob.drawRobot(comp2D);
public static void rotateCrossing(){
this.crossing.getTimer().start();
repaint();
// i tried below code also it didn't work. so i put them in comments
Runnable rotateCrossing1 = new Runnable(){ // to be removed
public void run() {
crossing.getTimer().start();
SwingUtilities.invokeLater(rotateCrossing1);
// MAIN CLASS
// This is the GUI class which consists of buttons and others
public class MainAPP{
SeePanel = new SeePanel();
// Buttons declarations here and others
public MainAPP(){
// all listener registers here
// Here i call the rotateCrossing() of the SeePanel class but it is not working as i want.
// I would like to see the image rotating gradually till it stops but it doesn't.
//This it what it does. After i click the button, i don't see it rotating. But when i minimize and maximize the main window,
// i see the image just rotate(flip) fast like that.
public void actionPerformed(ActionEvent e){
SeePanel.rotateCrossing();
public static main(string[] str){
}Please do help me to fix it.
thankskap wrote:
1 down vote favoriteHuh?
..Please i have trimed down the code for easy reading. ..Perhaps I am just lazy, but I don't actually like reading code until I've seen it compile in my editor & run. That is why I will advise that for better help sooner, post an SSCCE. For SSCCEs that use images, either generate an image in the code, or hot-link to an image available on the internet. I offer some [images at my site|http://pscode.org/media/#image] that you can hot-link to. -
Help combining rollovers with js menus
I'm building a site and have hit a roadblock. I've created
javascript menus (adapting code a friend gave me) that work
perfectly, except for the fact that the main menu items are
currently text, but I'd like them to appear as tabs that I've
created with rollover images. The submenus are working perfectly,
using an image background that repeats on the x axis.
I have built 2 samples of the page; one with each of these
features, that I'd like to combine into one. So far I've been
unsuccessful in my attempts to get this to work.
Each of the pages can be seen at:
http://www.oaddesign.com/spm/index.html
(this one has the working text menus and submenus)
http://www.oaddesign.com/spm/index2.html
(this one has the rollover images with no submenus)
If there's a way to get the submenus to work with the
rollover main menu items, I'd love any help I can get.
Thanks,
oadesignYou realize that by virtue of using the menu you have, your
page is
inaccessable to those who browse without javascript enabled,
or to those who
need to use screen assistive devices when browsing, or even
to those who
cannot use a mouse?
You could bypass all of these problems by using a menu system
that is tested
to perform in all of those situations - like PVII's
TabMenuMagic -
http://www.projectseven.com/.
Also, you have a number of errors both in your page's HTML
and in your CSS
that you should fix, e.g.,
* <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"
http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml"
xml:lang="en" lang="en">
You have specified an HTML doctype, but you are using an
XHTML <html> tag.
* <div id="maincontent">
<h1>Welcome to Saint Peter-Marian</h1>
<bodycopy>
What is "<bodycopy>"?
* font-size:.3ems;
'ems' is not a valid font metric (use 'em').
* a {text-decoration:none}
The "//" is invalid in a CSS file....
Murray --- ICQ 71997575
Adobe Community Expert
(If you *MUST* email me, don't LAUGH when you do so!)
==================
http://www.projectseven.com/go
- DW FAQs, Tutorials & Resources
http://www.dwfaq.com - DW FAQs,
Tutorials & Resources
==================
"oadesign" <[email protected]> wrote in
message
news:[email protected]...
> I'm building a site and have hit a roadblock. I've
created javascript
> menus
> (adapting code a friend gave me) that work perfectly,
except for the fact
> that
> the main menu items are currently text, but I'd like
them to appear as
> tabs
> that I've created with rollover images. The submenus are
working
> perfectly,
> using an image background that repeats on the x axis.
>
> I have built 2 samples of the page; one with each of
these features, that
> I'd
> like to combine into one. So far I've been unsuccessful
in my attempts to
> get
> this to work.
>
> Each of the pages can be seen at:
>
http://www.oaddesign.com/spm/index.html
(this one has the working text
> menus
> and submenus)
>
http://www.oaddesign.com/spm/index2.html
(this one has the rollover images
> with no submenus)
>
> If there's a way to get the submenus to work with the
rollover main menu
> items, I'd love any help I can get.
>
> Thanks,
> oadesign
> -
Actionscript 2 help needed on rotating movieclip
I need help with the "stopping" of a movieclip rotation. I think this would be easy for you Flash gurus but impossible for me.
Here is the description. The code below shows a movieclip rotating after mouse click but i want it to stop in place after 60 degrees. Basically I need it to rotate 60 degrees after every mouse click and stop. The "trace" function is there so i know something will happen when it rotates a certain degree. Right now it rotates continually after the mouse click.
mc.onRelease=function(){
mc.onEnterFrame=function(){
mc._rotation=mc._rotation+=10;
if(mc._rotation==60){
trace("HIT");
As a bonus i would like the rotation of every 60 degrees to ease in and out. Thank you in advance for any help you can give me.When the _rotation value reaches the 60 degree mark, you need to delete the onEnterFrame delete mc.onEnterFrame;.
There is only one position where the _rotation value will == 60, so if the intention is to stop it at every 60 degrees, then you'll need to change the conditional to be...
if(mc._rotation%60==0){
So....
mc.onRelease = function(){
mc.onEnterFrame = function(){
mc._rotation = mc._rotation+=10;
if(mc._rotation%60==0){
trace(mc._rotation);
delete mc.onEnterFrame;
If you want to have easing, I suggest looking into using Actionscript tweening. With steps of 10 there's little room to ease. -
I used dvd decoder to take my dvds and decode them into 8 to 12 separate mov. files. then i used an ipod converter to make those into mpeg4 files. it works and i have them playing on my ipod video, but i was wondering how i can get those separate mpeg4 files (that go together to make one movie) to be combined into one mpeg4 file (basically the movie would just be one mpeg4 file) so my library isnt so long. any help would be greatly appreciated!
thank you very much for your time,
BrianIf you don't need any fancy editing and have QTime Pro (assume Pro needed here), here is what I would do:
1) Duplicate first segment file. (Not necessary, but ensures you don't mess up original file by mistake.)
2) Open duplicate file in QTime
3) Open next segment file.
4) Select all (Command-A) and copy to clipboard (Command-C).
5) Activate the duplicate file by clicking on it.
6) Move play head to end of the track (may not really be necessary -- can't remember) and paste in second segment (Command-V).
7) Repeat steps 3-6 as needed.
8) Save combined product under unique name.
Note: Final movie will be type .mov but is actually in whatever source format you used and will load into iTunes/sync to iPod as is. -
Transform combination for rotation about arbitrary axis
I have read through many of the postings about rotations around axes other than ones going through the origin, and they list various solutions. I tried using the method where an object is translated to the origin, rotated, and then translated back to its original position.
When using this method, does each translation and rotation need to be in a separate TransformGroup, or can one TransformGroup use three Transform3D objects multiplied together to reach the same result?
Thanks for any additional info anyone can provide.You can use only one TransformGroup with the combined transformation. However if you change something you have to recalculate the overal transformation again. Thus you have to store the translation and rotation values. If you use seperate TransformGroups Java3D is calculating the overal transformation for you. In this case: if the capability bits which allow changes to the Trasnformation are NOT set and the scene graph is compiled, then j3d will internally hold only the combined transformation, so you don't loose any performance.
-
Adobe After Effects Help, Question: Shape Layer acts like a mask any help?
When i go to make a Shape it acts like a mask and i can't change it any help?
Make sure that no layer is selected before you begin drawing.
Maybe you are looking for
-
I have an iPad with an ID that is associated with 1 credit card but I don't wan't to use that credit card to make puchases. Can I switch to a different user ID and make puchases on a different credit card and/or iTunes redeemed points and then switc
-
Gives an error when running lm in embeded way
Hi all, I tried the following script but it gives me an error. cat("run embeded lm..") mod3 <- ore.doEval( function() { library(ORE) library(biglm) ore.sync(table="MSCI_DAILY_INDEX") dat <- ore.pull(ore.get("MSCI_DAILY_INDEX")) biglm(STD_EOD00D_LOCAL
-
Exporting to video in flash cc and getting no sound
i am trying to build a movie using flash cc and have placed a mp3 voice over on its own layer. when i play it back as an swf file it works perfectly. however, when i go to File>export>export Video i get the .mov movie but the voice over is no long
-
RH8 for Word 2003. Runtime Error 5152: Cant move focus to control
Hi, I am trying to open a word file from the RoboHelp source files and am getting the following error: Runtime Error '5152': Can't move focus to the control because it is invisible, not enabled, or of a type that does not accept the focus. I am using
-
How can I have a #defined in Java?
How can I have a #defined in Java that works like C/C++? Edited by: thunderball1234 on Mar 25, 2009 7:55 AM