Search Results

Search found 29863 results on 1195 pages for 'version'.

Page 543/1195 | < Previous Page | 539 540 541 542 543 544 545 546 547 548 549 550  | Next Page >

  • What are the advantages and disadventages of git or bzr + rsync vs rdiff-backup?

    - by Azendale
    I used to use rsync to do backups, but then I switched to rdiff-backup to incremental backups. Recently, I discovered git and bzr while working on a coding project. So, I was thinking, I could have my backup disk be a repository in either git or bzr. Then I could rsync to the repository, and commit the changes. Would there be any performance concerns with this? Any other issues that I'm not thinking of? The benefit I see in using rsync is that you can restart an interrupted transfer, while rdiff-backup reverts to the last version, and then starts again. Any reason not to do it this way? Anything I'm not thinking of?

    Read the article

  • Tout savoir sur Office 365, la nouvelle offre Cloud professionnelle complète de Microsoft, avec la Directrice Marketing des Produits Office

    TechDays 2011 : Office 365, la nouvelle offre applicative professionnelle complète De Microsoft en mode Cloud, avec la Directrice Marketing des Produits Office Non, Office 365 n'est pas la version Cloud de Office 2010. C'est un peu plus que cela. Office 365 est le nouveau fer de lance de Microsoft sur le marché des applications professionnelles hébergées. Il s'agit d'une suite complète qui se compose de : SharePoint Online (et d'un espace en ligne), pour la création de portails, de sites web ou intranet, etc. Exchange Online, pour la gestion des courriels, agendas et contacts partagés. ...

    Read the article

  • Laptop works fine with ac adapter, hangs after login screen using battery

    - by tavoton
    I did an Ubuntu 10.10 Desktop Edition clean install (amd64 version) on a notebook Medion Akoya E1311. With AC adapter everything works fine, but using battery, it hangs after login screen. I can type login, password too, and I can press login button. But then I can see mouse cursor and lower task bar, not upper, and nothing works. The only thing I can do is login on a terminal with ctrl+alt+F1, this is ok. Nothing seems alive on Gnome except mouse cursor. The only thing I did after Ubuntu fresh install was donwloading driver for RTL8191SE from Realtek web, because WiFi didn't work, now works fine, with ac adapter of course. Hardware is a Notebook Medion Akoya E1311 AMD Sempron 210U 1 GB DDR2 ATI RS690M (Radeon X1200 Series) Western Digital 160GB wireless RTL8191SEvB ethernet RTL8101E/RTL8102E

    Read the article

  • Collaboration platforms

    - by Thomas
    Are there any good collaboration platforms for game development? This would include the following features: Easy way to find various people you need to build games (programmer, artist etc) and forming a team like for example codeplex Online portfolio for users where they can offer their services (either paid or free) Posibility to create a game specific blog or site with social media integration to show the world what's being created Easy way to manage game content / resources with sufficient online storage, version control and if possible source control Manage all phases of game development (startup, creating concept, finding a team, creating proof of concept, production phase etc) and publish specific information for each phase also on social media etc. Manage asset creation flow (request for specific content like a sound, production of sound, uploading the sound, notification to the requester, implementation of the file, retouching in several cycles etc)

    Read the article

  • Google Webmaster Tools shows invalid data

    - by Altar
    Webmaster Tools shows 1 URL error (not found page). The report says that 5 pages are linking to a page (let's call it x) that does not exist (and because it doesn't exists it returns a soft 404). HOWEVER, I look in those 5 pages (in the source code) and none is linking to the x page. It is like Google sees an old page that was indeed pointing to x. What is the problem? How do I know if Google cached an old version for those 5 pages?

    Read the article

  • Force full-screen game to one monitor?

    - by Joachim Pileborg
    I have two monitors, one 1920x1200 and the other 1920x1080, and in 10.10 they were "separate". As in when I opened the display preferences they were shown as separate screens. Since installing (from scratch) 11.04 I instead have one giant 3840x1200 screen spread over the two monitors. Not a problem per se, except when I want to play full-screen games! When playing games I want them to be on the primary (1920x1200) monitor, but since the game only detects one screen I cant do that, even if I lower the resolution in-game. I have a nVidia GTS 250 card, using nvidia-current driver (version 270.41.06), even though "Additional Drivers" reports the driver is "activated but not currently in use". Is there a way to force the game to use only one of the monitors? Or make the game detect both monitors?

    Read the article

  • How to remove permanently those error prompts while using openbox gnome?

    - by YumYumYum
    How to remove permanently those error prompts while using openbox gnome? Such as: update ubuntu latest release, this kind of errors etc, how to permanently disable them so that it does not show in front of my presentation. Follow up: a) How do i kill that screen shot error box? $ cat /etc/default/whoopsie [General] report_crashes=false $ apport-cli *** Send problem report to the developers? After the problem report has been sent, please fill out the form in the automatically opened web browser. What would you like to do? Your options are: S: Send report (69.7 KB) V: View report K: Keep report file for sending later or copying to somewhere else I: Cancel and ignore future crashes of this program version C: Cancel Please choose (S/V/K/I/C): I b) How do i kill that update notification dialog box? $/etc/xdg/autostart# vim update-notifier.desktop #NoDisplay=true NoDisplay=false :wq $ cat update-notifier.desktop | grep NoDisplay NoDisplay=false No more disturbing popup's now.

    Read the article

  • Laptop buttons not working on a Dell Latitude e6400

    - by Ido
    I have install Ubuntu 12.10 64 bit on my Dell Latitude E6400 laptop. I have the latest bios version for my laptop (A32) which I downloaded from the official Dell website by checking updates that matches the service tag on my laptop. I'm having serious problems with all the mouse buttons on my laptop. The right-click button doesn't work at all under any circumstance. The left click button only work when clicking on icons in the left side-bar and in the top menu (like clicking on the power icon in the top-right corner or clicking on the file menu). However none of the buttons work in any of the applications even simple one like the file browser (home folder). For example when I try to click on a folder inside nautilus it doesn't work or when I try to click on the "x" close icon to close the window it also doesn't work. Can you help me figure it out?

    Read the article

  • UFW firewall still blocking SMB despite adding rules

    - by nLinked
    I have an Ubuntu PC with ufw firewall (GUI version). I have added the preset Samba service, in and out, and even tried adding the ports manually (135-139, 445, UDP and TCP, in and out), but it still blocks samba. I am trying to access a share on another PC on my LAN. If I disable ufw, it works fine. It must be still blocking something and I can't figure it out. Any ideas? I'm on Ubuntu 11.04 beta 2.

    Read the article

  • What 2D game engines are there available for C++?

    - by dysoco
    I just realized there are not C++ 2D Game Engines that I know of. For example, something like Pygame in Python, or Slick2D in Java. We have the following: SDL - Too low level, not a Game Engine SFML - Handles more things than SDL and it's more modern, but still not a Game Engine. I like it, but I have found it a little bit buggy with the 2.0 version. Irrlitch - It's a Game Engine, but 3D focused. Ogre3D - Same as Irrlitch Allegro - This is a Game Engine, but it's C based, I'd like a modern C++ library. Monocle Engine - This looks like what I need... but sadly there is no Documentation, no community... nothing, all I have is the Github repo. So, do you know any ? I'd like to use C++, not C#, not Java: I'm just more comfortable with C++.

    Read the article

  • Where are the systray icons for Dropbox in Ubuntu desktop 13.04 (minimal)?

    - by samvv
    I reinstalled Ubuntu desktop using the minimal CD image and the following command: $ sudo apt-get install ubuntu-desktop --no-install-recommends After that I used Ubuntu Software Center to make sure Unity supports application indicators: http://i.imgur.com/bYF162w.png. Everything works great, except for Dropbox. For some reason the icon doesn't appear in the tray, even though the application is running. Steam on the other hand runs just fine, so it seems like there is nothing wrong with the tray itself. According to this post the tray icons should be in /usr/shared/icons/hicolor/22x22/status but it doesn't contain any Dropbox icons. Neither do any of the other resolutions. The answer is a bit outdated, so I'm not entirely sure it is still applicable to the current version of Dropbox. I did the usual thing of reinstalling dropbox with: sudo apt-get purge nautilus-dropbox sudo apt-get install nautilus-dropbox But that didn't solve anything either. Does somebody know how to fix this issue?

    Read the article

  • Ripping MP3s in Rhythmbox Ubuntu 12.10 (64 bit)?

    - by James Fellows Yates
    I installed a couple of days ago Ubuntu 12.10 (64 bit). I today tried ripping a CD in the MP3 format. However, whenever I try to rip, it says it is missing an extra multimedia plugin "Gstreamer extra plug-ins (i386)". I then try to install the :i386 version of the gstreamer-ugly plugins, but then I get the same problem but with the id3-demuxer (or something similar) The Terminal output I get from both problems (but replace the "MPEG-1 Layer 3 (MP3) encoder" with the "ID3-demuxer" name) is: james@clefairy:~$ rhythmbox (rhythmbox:24122): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed Rhythmbox-Message: Missing plugin: gstreamer|0.10|rhythmbox|MPEG-1 Layer 3 (MP3) encoder|encoder-audio/mpeg, mpegversion=(int)1, layer=(int)3 /usr/lib/python2.7/dist-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed import gobject._gobject It doesn't help that each time I have to install/remove the entire Gstreamer-ugly collection each time - I can't find that specific file. The CD plays fine, it's the ripping plugin that doesn't seem to work. I didn't have this problem previously on 12.04 (64 bit).

    Read the article

  • 12.04 - how to install alsa 1.0.27, to resolve dell sound card microphone echo issue to local speaker?

    - by YumYumYum
    Problem: Microphone in or Line in microphone audio is instantly captured and sinked to the local speaker, cause horrible echo problem About my system: (NO PulseAudio used (cause its always crash and unstable for my system/hardware, so auto killed and never used) I have ALSA 1.0.25 version running in Ubuntu 12.04 / 64-bit, with random kernel installed: kernel 3.5.0-17-generic kernel 3.8.x kernel 3.11.x But the echo problem is not resolved after trying all kernel. So, last option left now is to use ALSA 1.0.27 to see if that solves the problem. Is there any away to use ALSA 1.0.27 from any PPA to install in the Ubuntu 12.04? (without making it from source, to avoid breaking other packages and dependencies)

    Read the article

  • How will wayland be delivered?

    - by Chris Woollard
    Mark just announched support for wayland in Ubuntu in future. I was just wondering the following (Hopefully Mark can answer). Obviously this is quite a significant piece of work. When will a version be available to test? Will it be available as a package(s) in the repository or will it be delivered as its own distribution e.g. wayBuntu? When do you expect it to take over as the default (e.g. 11.11)? Thanks Chris

    Read the article

  • How to replace GRUB with BURG without overwriting MBR?

    - by StepTNT
    I'd like to install BURG but I don't want it to overwrite my MBR. That's because I've got two bootloaders in my system : Default Windows 7 in MBR Grub in /dev/sda2 With the first power button, it will boot into Windows and with the second button it boots from /dev/sda2, loading Grub and then Kubuntu. Now I want to replace GRUB with BURG. I've installed Burg with burg-install /dev/sda2 --force because I don't want my MBR to be overwritten (pressing the first power button MUST load Windows and avoid showing any sign of Linux). Setup was completed without errors, If I open burg-manager it loads my settings, allowing me to change them and to test everything with burg-emu, so I've changed my settings but the second power button still loads GRUB (Even a different version from the default Kubuntu one). How can I replace GRUB that's on /dev/sda2 with BURG and without overwriting MBR?

    Read the article

  • 20 to 40 seconds pause during the boot on 12.04

    - by Vilmantas Baranauskas
    I've just installed new ASRock B75M-ITX Mainboard and fresh Ubuntu 12.04 on it. During the boot, there is a 20 to 40 seconds pause when goa-daemon is starting (/var/log/syslog): Jul 7 11:13:28 sirius goa[1933]: goa-daemon version 3.4.0 starting [main.c:112, main()] Jul 7 11:13:51 sirius kernel: [ 102.771893] ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen Any ideas what is wrong and how should I proceed trouble-shooting this? EDIT: Thank you for the tip regarding ATA. I've found following in the logs: Jul 8 10:54:20 sirius kernel: [ 6.007532] ata1: link is slow to respond, please be patient (ready=0) Jul 8 10:54:20 sirius kernel: [ 10.648618] ata1: COMRESET failed (errno=-16) The problem vanished when I've reconnected the Intel G1 SSD from SATA3 to SATA2 connector.

    Read the article

  • today's multi-device world for web development

    - by paul smith
    With the huge explosion of mobile devices and addition of HTML5/CSS3, there seems to be a shift towards "responsive" designs (i.e., adapting to smaller screen sizes) which seems to be achieved using CSS3's Media Queries. My question is, given the current need of adapting to both desktop and mobile, is it common practice to actually organize two versions of your website (one for desktop and one for mobile)? Or is there just one version with different css files for targeting different devices and screens? Handling just cross-browser (ie6, ff3, opera9, etc...) HTML4/5, CSS2/3 was already hard enough, but now we're expected to handle cross-device (phone, tablet, etc...) as well, so my assumption is company's would create a separate project for mobile and redirect based on the user agent, but this is just a guess.

    Read the article

  • Using BizTalk to bridge SQL Job and Human Intervention (Requesting Permission)

    - by Kevin Shyr
    I start off the process with either a BizTalk Scheduler (http://biztalkscheduledtask.codeplex.com/releases/view/50363) or a manual file drop of the XML message.  The manual file drop is to allow the SQL  Job to call a "File Copy" SSIS step to copy the trigger file for the next process and allows SQL  Job to be linked back into BizTalk processing. The Process Trigger XML looks like the following.  It is basically the configuration hub of the business process <ns0:MsgSchedulerTriggerSQLJobReceive xmlns:ns0="urn:com:something something">   <ns0:IsProcessAsync>YES</ns0:IsProcessAsync>   <ns0:IsPermissionRequired>YES</ns0:IsPermissionRequired>   <ns0:BusinessProcessName>Data Push</ns0:BusinessProcessName>   <ns0:EmailFrom>[email protected]</ns0:EmailFrom>   <ns0:EmailRecipientToList>[email protected]</ns0:EmailRecipientToList>   <ns0:EmailRecipientCCList>[email protected]</ns0:EmailRecipientCCList>   <ns0:EmailMessageBodyForPermissionRequest>This message was sent to request permission to start the Data Push process.  The SQL Job to be run is WeeklyProcessing_DataPush</ns0:EmailMessageBodyForPermissionRequest>   <ns0:SQLJobName>WeeklyProcessing_DataPush</ns0:SQLJobName>   <ns0:SQLJobStepName>Push_To_Production</ns0:SQLJobStepName>   <ns0:SQLJobMinToWait>1</ns0:SQLJobMinToWait>   <ns0:PermissionRequestTriggerPath>\\server\ETL-BizTalk\Automation\TriggerCreatedByBizTalk\</ns0:PermissionRequestTriggerPath>   <ns0:PermissionRequestApprovedPath>\\server\ETL-BizTalk\Automation\Approved\</ns0:PermissionRequestApprovedPath>   <ns0:PermissionRequestNotApprovedPath>\\server\ETL-BizTalk\Automation\NotApproved\</ns0:PermissionRequestNotApprovedPath> </ns0:MsgSchedulerTriggerSQLJobReceive>   Every node of this schema was promoted to a distinguished field so that the values can be used for decision making in the orchestration.  The first decision made is on the "IsPermissionRequired" field.     If permission is required (IsPermissionRequired=="YES"), BizTalk will use the configuration info in the XML trigger to format the email message.  Here is the snippet of how the email message is constructed. SQLJobEmailMessage.EmailBody     = new Eai.OrchestrationHelpers.XlangCustomFormatters.RawString(         MsgSchedulerTriggerSQLJobReceive.EmailMessageBodyForPermissionRequest +         "<br><br>" +         "By moving the file, you are either giving permission to the process, or disapprove of the process." +         "<br>" +         "This is the file to move: \"" + PermissionTriggerToBeGenereatedHere +         "\"<br>" +         "(You may find it easier to open the destination folder first, then navigate to the sibling folder to get to this file)" +         "<br><br>" +         "To approve, move(NOT copy) the file here: " + MsgSchedulerTriggerSQLJobReceive.PermissionRequestApprovedPath +         "<br><br>" +         "To disapprove, move(NOT copy) the file here: " + MsgSchedulerTriggerSQLJobReceive.PermissionRequestNotApprovedPath +         "<br><br>" +         "The file will be IMMEDIATELY picked up by the automated process.  This is normal.  You should receive a message soon that the file is processed." +         "<br>" +         "Thank you!"     ); SQLJobSendNotification(Microsoft.XLANGs.BaseTypes.Address) = "mailto:" + MsgSchedulerTriggerSQLJobReceive.EmailRecipientToList; SQLJobEmailMessage.EmailBody(Microsoft.XLANGs.BaseTypes.ContentType) = "text/html"; SQLJobEmailMessage(SMTP.Subject) = "Requesting Permission to Start the " + MsgSchedulerTriggerSQLJobReceive.BusinessProcessName; SQLJobEmailMessage(SMTP.From) = MsgSchedulerTriggerSQLJobReceive.EmailFrom; SQLJobEmailMessage(SMTP.CC) = MsgSchedulerTriggerSQLJobReceive.EmailRecipientCCList; SQLJobEmailMessage(SMTP.EmailBodyFileCharset) = "UTF-8"; SQLJobEmailMessage(SMTP.SMTPHost) = "localhost"; SQLJobEmailMessage(SMTP.MessagePartsAttachments) = 2;   After the Permission request email is sent, the next step is to generate the actual Permission Trigger file.  A correlation set is used here on SQLJobName and a newly generated GUID field. <?xml version="1.0" encoding="utf-8"?><ns0:SQLJobAuthorizationTrigger xmlns:ns0="somethingsomething"><SQLJobName>Data Push</SQLJobName><CorrelationGuid>9f7c6b46-0e62-46a7-b3a0-b5327ab03753</CorrelationGuid></ns0:SQLJobAuthorizationTrigger> The end user (the human intervention piece) will either grant permission for this process, or deny it, by moving the Permission Trigger file to either the "Approved" folder or the "NotApproved" folder.  A parallel Listen shape is waiting for either response.   The next set of steps decide how the SQL Job is to be called, or whether it is called at all.  If permission denied, it simply sends out a notification.  If permission is granted, then the flag (IsProcessAsync) in the original Process Trigger is used.  The synchonous part is not really synchronous, but a loop timer to check the status within the calling stored procedure (for more information, check out my previous post:  http://geekswithblogs.net/LifeLongTechie/archive/2010/11/01/execute-sql-job-synchronously-for-biztalk-via-a-stored-procedure.aspx)  If it's async, then the sp starts the job and BizTalk sends out an email.   And of course, some error notification:   Footnote: The next version of this orchestration will have an additional parallel line near the Listen shape with a Delay built in and a Loop to send out a daily reminder if no response has been received from the end user.  The synchronous part is used to gather results and execute a data clean up process so that the SQL Job can be re-tried.  There are manu possibilities here.

    Read the article

  • How do I get the Netgear N150 USB wifi adapter working on 12.04?

    - by Jon
    Just installed latest version of ubuntu. I'm using a Netgear N150 Wireless USB Micro Adapter WNA1000M which keeps asking for network password over and over. I read elsewhere that I needed to install the latest driver for my chipset (RTL8188CUS) which I have and still no joy. If I run the steps listed in this thread while connected through ethernet, the wireless will connect just fine. If I disconnect the ethernet, the wifi will even continue to work, but after a restart or two I will lose connection. If I repeat the steps listed in the aforementioned thread, it will not re-connect wifi unless I run those steps while connected to ethernet.......so strange...

    Read the article

  • Can't activate "mirror display"

    - by Nemo Peeters
    I have Ubuntu 12.04 on a Dell latitude E6410, I have a problem when using the VGA output I always have dual monitor and can't switch on the "mirror display" toggle under systems setting/displays. It's rather annoying when having to do presentation with a video projector. the option "mirror display" is in light grey and I can"t tick the box. Thanks for those who might have an idea how to resolve this? update: driver is: Intel® Ironlake Mobile x86/MMX/SSE2 card something like this ? description: VGA compatible controller product: Core Processor Integrated Graphics Controller vendor: Intel Corporation physical id: 2 bus info: pci@0000:00:02.0 version: 02 width: 64 bits clock: 33MHz

    Read the article

  • All video thumbnails fail to be generated

    - by Forage
    Not a single video thumbnail is being generated and shown in Nautilus. The folder ~/.cache/thumbnails/fail/gnome-thumbnail-factory/ keeps getting filled for all of them. I tried removing all the thumbnails from the folder, reinstalling the gstreamer-plugins-... and totem packages, changing the thumbnail settings (Always, 4 GB) in the Preview section of the Nautilus preferences. All to no avail. Some recommend to install packages like libxine1 and ffmpegthumbnailer but this didn't not solve it either. There used to be an .xsession-errors error log file generated in the home folder in previous version of Ubuntu but that doesn't seem to be the case any more. I'm running Ubuntu 12.10 GNOME remix (x64) with the GNOME3 ppa packages installed. What could be the cause of the problem and how can I fix it?

    Read the article

  • Des chercheurs découvrent le premier malware à pratiquer l'overwrite, caché sous la forme d'un Adobe

    Des chercheurs découvrent le premier malware à pratiquer l'overwrite, caché sous la forme d'un Adobe Updater Un code malicieux vient d'être repéré pour la première fois par des spécialistes en sécurité informatique. En effet, des chercheurs viennent de découvrir un malware qui se substitue aux mises à jour de certaines applications. Habituellement, ce type de programmes ne pratique pas l'overwrite. Seuls les ordinateurs tournant sous Windows sont touchés. Le malware se cache sous la forme d'un updater pour les produits Adobe ou Java. Une variante imite Adobe Reader v.9 et overwrite AdobeUpdater.exe, lequel a pour mission de se connecter régulièrement auprès des serveurs d'Adobe pour vérifier si une nouvelle version ...

    Read the article

  • Split screen and other issues on Ubuntu 11.10 with ATI graphics card

    - by garus
    Ever since updating my Ubuntu 11.04 to 11.10 I experience issues with graphics. The biggest is the "split screen" effect where my desktop is shifted to the right, resulting in having Unity bar in the middle of the screen. As shown here: http://i.imgur.com/I8nmZ.jpg This changes from boot to boot, sometimes it's on the left, sometimes in the middle. What I tried: Removing fglrx drivers completely Installing post-update version of them, but installation is broken ATM in the Ubuntu, so no go. No one is even trying to fix it (bug report https://bugs.launchpad.net/ubuntu/+source/nvidia-common/+bug/873058 and a couple of duplicates out there) Also using the open source "radeon" driver results in the same (I have a better successful boot ratio with this one, proprietary rarely lets me boot) Other artifacts are: serious screen tearing weird lines flickering in random places lagginess Did anyone experience that? My specs: Ubuntu 11.10 AMD Radeon HD 6950 1GB

    Read the article

  • No Sound in HTML5 and Google Chrome after update to 13.10

    - by rechengehirn
    After upgrading to Ubuntu 13.10 i have no sound for HTML5 players in Google Chrome Browser. Firefox works. Flash Players are working. No sound on Youtube when using HTML5. No sound on vimeo (They have html5 player as standard). When I open the soundapplication, google doesn't show up when I try to play a html5 video. But it shows up, when playing a Flash Video. Google Chrome Version is: 24.0.1312.52 Installed an updated via ppa: deb http://dl.google.com/linux/chrome/deb/ stable main

    Read the article

  • Applications: The Mathematics of Movement, Part 3

    - by TechTwaddle
    Previously: Part 1, Part 2 As promised in the previous post, this post will cover two variations of the marble move program. The first one, Infinite Move, keeps the marble moving towards the click point, rebounding it off the screen edges and changing its direction when the user clicks again. The second version, Finite Move, is the same as first except that the marble does not move forever. It moves towards the click point, rebounds off the screen edges and slowly comes to rest. The amount of time that it moves depends on the distance between the click point and marble. Infinite Move This case is simple (actually both cases are simple). In this case all we need is the direction information which is exactly what the unit vector stores. So when the user clicks, you calculate the unit vector towards the click point and then keep updating the marbles position like crazy. And, of course, there is no stop condition. There’s a little more additional code in the bounds checking conditions. Whenever the marble goes off the screen boundaries, we need to reverse its direction.  Here is the code for mouse up event and UpdatePosition() method, //stores the unit vector double unitX = 0, unitY = 0; double speed = 6; //speed times the unit vector double incrX = 0, incrY = 0; private void Form1_MouseUp(object sender, MouseEventArgs e) {     double x = e.X - marble1.x;     double y = e.Y - marble1.y;     //calculate distance between click point and current marble position     double lenSqrd = x * x + y * y;     double len = Math.Sqrt(lenSqrd);     //unit vector along the same direction (from marble towards click point)     unitX = x / len;     unitY = y / len;     timer1.Enabled = true; } private void UpdatePosition() {     //amount by which to increment marble position     incrX = speed * unitX;     incrY = speed * unitY;     marble1.x += incrX;     marble1.y += incrY;     //check for bounds     if ((int)marble1.x < MinX + marbleWidth / 2)     {         marble1.x = MinX + marbleWidth / 2;         unitX *= -1;     }     else if ((int)marble1.x > (MaxX - marbleWidth / 2))     {         marble1.x = MaxX - marbleWidth / 2;         unitX *= -1;     }     if ((int)marble1.y < MinY + marbleHeight / 2)     {         marble1.y = MinY + marbleHeight / 2;         unitY *= -1;     }     else if ((int)marble1.y > (MaxY - marbleHeight / 2))     {         marble1.y = MaxY - marbleHeight / 2;         unitY *= -1;     } } So whenever the user clicks we calculate the unit vector along that direction and also the amount by which the marble position needs to be incremented. The speed in this case is fixed at 6. You can experiment with different values. And under bounds checking, whenever the marble position goes out of bounds along the x or y direction we reverse the direction of the unit vector along that direction. Here’s a video of it running;   Finite Move The code for finite move is almost exactly same as that of Infinite Move, except for the difference that the speed is not fixed and there is an end condition, so the marble comes to rest after a while. Code follows, //unit vector along the direction of click point double unitX = 0, unitY = 0; //speed of the marble double speed = 0; private void Form1_MouseUp(object sender, MouseEventArgs e) {     double x = 0, y = 0;     double lengthSqrd = 0, length = 0;     x = e.X - marble1.x;     y = e.Y - marble1.y;     lengthSqrd = x * x + y * y;     //length in pixels (between click point and current marble pos)     length = Math.Sqrt(lengthSqrd);     //unit vector along the same direction as vector(x, y)     unitX = x / length;     unitY = y / length;     speed = length / 12;     timer1.Enabled = true; } private void UpdatePosition() {     marble1.x += speed * unitX;     marble1.y += speed * unitY;     //check for bounds     if ((int)marble1.x < MinX + marbleWidth / 2)     {         marble1.x = MinX + marbleWidth / 2;         unitX *= -1;     }     else if ((int)marble1.x > (MaxX - marbleWidth / 2))     {         marble1.x = MaxX - marbleWidth / 2;         unitX *= -1;     }     if ((int)marble1.y < MinY + marbleHeight / 2)     {         marble1.y = MinY + marbleHeight / 2;         unitY *= -1;     }     else if ((int)marble1.y > (MaxY - marbleHeight / 2))     {         marble1.y = MaxY - marbleHeight / 2;         unitY *= -1;     }     //reduce speed by 3% in every loop     speed = speed * 0.97f;     if ((int)speed <= 0)     {         timer1.Enabled = false;     } } So the only difference is that the speed is calculated as a function of length when the mouse up event occurs. Again, this can be experimented with. Bounds checking is same as before. In the update and draw cycle, we reduce the speed by 3% in every cycle. Since speed is calculated as a function of length, speed = length/12, the amount of time it takes speed to reach zero is directly proportional to length. Note that the speed is in ‘pixels per 40ms’ because the timeout value of the timer is 40ms.  The readability can be improved by representing speed in ‘pixels per second’. This would require you to add some more calculations to the code, which I leave out as an exercise. Here’s a video of this second version,

    Read the article

< Previous Page | 539 540 541 542 543 544 545 546 547 548 549 550  | Next Page >